public static async Task <bool> OpenCompactOverlayView() { bool _modeswitchstatus = false; // 切换模式成功指示器 if (CompactOverlayView == null) { CompactOverlayCoreApplicationView = CoreApplication.CreateNewView(); int newViewId = 0; await CompactOverlayCoreApplicationView.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, async() => { Frame frame = new Frame(); frame.Navigate(typeof(CompactOverlay_HomePage), null); Window.Current.Content = frame; // You have to activate the window in order to show it later. Window.Current.Activate(); CompactOverlayView = ApplicationView.GetForCurrentView(); bool a = CompactOverlayView.IsViewModeSupported(ApplicationViewMode.CompactOverlay); newViewId = CompactOverlayView.Id; }); bool viewShown = await ApplicationViewSwitcher.TryShowAsStandaloneAsync(newViewId); ViewModePreferences compactOptions = ViewModePreferences.CreateDefault(ApplicationViewMode.CompactOverlay); compactOptions.CustomSize = new Windows.Foundation.Size(350, 50); //调整画中画模式的窗口初始大小 await CompactOverlayView.TryEnterViewModeAsync(ApplicationViewMode.CompactOverlay, compactOptions); //进入默认视图模式 } else { ShowCompactOverlayView(); } return(IsInCompactOverlayMode = _modeswitchstatus ? !IsInCompactOverlayMode : IsInCompactOverlayMode); //如果切换模式成功,则逆转这个值 }
public static async void ShowCompactOverlayView() { bool viewShown = await ApplicationViewSwitcher.TryShowAsStandaloneAsync(CompactOverlayView.Id); ViewModePreferences compactOptions = ViewModePreferences.CreateDefault(ApplicationViewMode.CompactOverlay); compactOptions.CustomSize = new Windows.Foundation.Size(350, 100); //调整画中画模式的窗口初始大小 await CompactOverlayView.TryEnterViewModeAsync(ApplicationViewMode.CompactOverlay, compactOptions); }