// Displays a view as a standalone // You can use the resulting ViewLifeTileControl to interact with the new window. public async Task <ViewLifetimeControl> TryShowAsStandaloneAsync(string windowTitle, Type pageType) { ViewLifetimeControl viewControl = await CreateViewLifetimeControlAsync(windowTitle, pageType); SecondaryViews.Add(viewControl); viewControl.StartViewInUse(); var viewShown = await ApplicationViewSwitcher.TryShowAsStandaloneAsync(viewControl.Id, ViewSizePreference.Default, ApplicationView.GetForCurrentView().Id, ViewSizePreference.Default); viewControl.StopViewInUse(); return(viewControl); }
// Displays a view in the specified view mode public async Task <ViewLifetimeControl> TryShowAsViewModeAsync(string windowTitle, Type pageType, ApplicationViewMode viewMode = ApplicationViewMode.Default) { ViewLifetimeControl viewControl = await CreateViewLifetimeControlAsync(windowTitle, pageType); SecondaryViews.Add(viewControl); viewControl.StartViewInUse(); var viewShown = await ApplicationViewSwitcher.TryShowAsViewModeAsync(viewControl.Id, viewMode); 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.Navigate(pageType, viewControl); Window.Current.Content = frame; Window.Current.Activate(); ApplicationView.GetForCurrentView().Title = viewControl.Title; }); return(viewControl); }