Ejemplo n.º 1
0
        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;
            };
        }
Ejemplo n.º 2
0
 private async Task EnterTopMostAsync()
 {
     var previousSize = LocalSettings.CompactOverlaySize;
     await ViewMode.EnterCompactOverlayAsync(previousSize);
 }