private StartArgsEx(object eventArgs, StartKinds kind) { Starts++; StartKind = kind; EventArgs = eventArgs; if (ThisIsFirstStart && StartKind == StartKinds.Activate) { StartKind = StartKinds.Launch; } else if (!ThisIsFirstStart && StartKind == StartKinds.Launch) { StartKind = StartKinds.Activate; } if (StartKind == StartKinds.Activate) { PreviousExecutionState = ApplicationExecutionState.Running; } else if (LaunchActivatedEventArgs != null) { PreviousExecutionState = LaunchActivatedEventArgs.PreviousExecutionState; } else if (LaunchActivatedEventArgs != null) { PreviousExecutionState = LaunchActivatedEventArgs.PreviousExecutionState; } else { PreviousExecutionState = ApplicationExecutionState.NotRunning; } }
public override async Task OnStartAsync(StartArgs args, StartKinds activate) { switch (activate) { case StartKinds.Launch when (args.Arguments is LaunchActivatedEventArgs e): Window.Current.Content = new SplashPage(e.SplashScreen); break; case StartKinds.Prelaunch: case StartKinds.Activate: case StartKinds.Background: break; } var path = PathBuilder .Create(true, nameof(MainPage), ("Record", "123")) .Append(nameof(MainPage), ("Record", "234")) .Append(nameof(MainPage), ("Record", "345")) .Append(nameof(MainPage), ("Record", "456")) .Append(nameof(MainPage), ("Record", "567")) .ToString(); var shell = Resolve<ShellPage>(); await shell.ShellView.NavigationService.NavigateAsync(path); Window.Current.Content = shell; }
public Template10StartArgs(object arg, StartKinds startKind) { Starts++; RawEventArgs = arg; StartKind = startKind; // sometimes launch is actually activate if (ThisIsFirstStart && startKind == StartKinds.Activate) { StartKind = StartKinds.Launch; } else if (!ThisIsFirstStart && startKind == StartKinds.Launch) { StartKind = StartKinds.Activate; } // we need to update PrelaunchOccurred if (ThisIsPrelaunch && !PrelaunchOccurred) { PrelaunchOccurred = true; } // could PreviousExecutionState be wrong? Yes. if (StartKind == StartKinds.Activate) { PreviousExecutionState = ApplicationExecutionState.Running; } else if (OnLaunchedEventArgs != null) { PreviousExecutionState = OnLaunchedEventArgs.PreviousExecutionState; } else if (OnActivatedEventArgs != null) { PreviousExecutionState = OnActivatedEventArgs.PreviousExecutionState; } else { PreviousExecutionState = ApplicationExecutionState.NotRunning; } }
public abstract Task OnStartAsync(IActivatedEventArgs args, StartKinds startKind);
public static IStartArgsEx Create(object eventArgs, StartKinds kind) => new StartArgsEx(eventArgs, kind);
public StartArgs(IActivatedEventArgs args, StartKinds startKind) { Arguments = args; StartKind = startKind; }