public MainPage() { this.InitializeComponent(); if (IsMobile || !ViewMode.IsCompactOverlaySupported) { viewModeToggle.Visibility = Visibility.Collapsed; } bool isFirstActivate = true; Window.Current.Activated += async(s, e) => { if (e.WindowActivationState == CoreWindowActivationState.CodeActivated && isFirstActivate) { isFirstActivate = false; if (LocalSettings.PreviousViewMode == ApplicationViewMode.CompactOverlay) { // ウインドウが初めてアクティブになったとき、 // 前回終了時が CompactOverlay だったら、 // CompactOverlay にする。 await ViewMode.EnterCompactOverlayAsync(LocalSettings.CompactOverlaySize); } } }; SizeChanged += (s, e) => { // ウインドウのサイズが変わったとき: // ウインドウのサイズを取得し、画面を更新する。 PageSize = e.NewSize; this.Bindings.Update(); }; ViewMode.ViewModeChanged += (s, e) => { // ViewMode が切り替わったときに、 // やりたいことがあれば、ここで。 LocalSettings.PreviousViewMode = ViewMode.CurrentMode; viewModeToggle.IsChecked = ViewMode.IsCompactOverlayMode; }; Application.Current.EnteredBackground += (s, e) => { // アプリがバックグラウンドに移されるとき: // 必要なデータを保存する // ※ 1607 以前では Application.Current.Suspending でやっていた処理 LocalSettings.CompactOverlaySize = ViewMode.LastWindowSize; }; }
private async Task EnterTopMostAsync() { var previousSize = LocalSettings.CompactOverlaySize; await ViewMode.EnterCompactOverlayAsync(previousSize); }