public async Task <ViewLifetimeControl> TryShowAsViewModeAsync(string windowTitle, Type pageType, ApplicationViewMode viewMode = ApplicationViewMode.Default) { ViewLifetimeControl viewControl = await CreateViewLifetimeControlAsync(windowTitle, pageType); SecondaryViews.Add(viewControl); viewControl.StartViewInUse(); ViewModePreferences compactOptions = ViewModePreferences.CreateDefault(viewMode); compactOptions.CustomSize = MediumSize; var viewShown = await ApplicationViewSwitcher.TryShowAsViewModeAsync(viewControl.Id, viewMode, compactOptions); viewControl.StopViewInUse(); return(viewControl); }
private async Task <ViewLifetimeControl> CreateViewLifetimeControlAsync(string windowTitle, Type pageType) { ViewLifetimeControl viewControl = null; await CoreApplication.CreateNewView().Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => { viewControl = ViewLifetimeControl.CreateForCurrentView(); viewControl.Title = windowTitle; viewControl.StartViewInUse(); var frame = new Frame(); frame.RequestedTheme = Application.Current.RequestedTheme == ApplicationTheme.Dark ? ElementTheme.Dark : ElementTheme.Light; frame.Navigate(pageType, viewControl); Window.Current.Content = frame; Window.Current.Activate(); ApplicationView.GetForCurrentView().Title = viewControl.Title; }); return(viewControl); }