public FullWindow(MainViewModel viewModel) { Instance = this; _viewModel = new FullWindowViewModel(viewModel); _viewModel.AppExpanded += (_, e) => AppPopup.PositionAndShow(this, e); _viewModel.AppCollapsed += (_, __) => AppPopup.HideWithAnimation(); InitializeComponent(); AppPopup.Closed += (_, __) => _viewModel.CollapseApp(); LocationChanged += (_, __) => _viewModel.CollapseApp(); SizeChanged += (_, __) => _viewModel.CollapseApp(); DataContext = _viewModel; PreviewKeyDown += FullWindow_PreviewKeyDown; this.FlowDirection = SystemSettings.IsRTL ? FlowDirection.RightToLeft : FlowDirection.LeftToRight; Instance = this; Closing += (s, e) => { Instance = null; _viewModel.Close(); }; SourceInitialized += (_, __) => { this.Cloak(); AccentPolicyLibrary.SetWindowBlur(this, true, true); }; Microsoft.Win32.SystemEvents.DisplaySettingsChanged += (s, e) => Dispatcher.BeginInvoke((Action)(() => _viewModel.CollapseApp())); }
private void FullWindow_PreviewKeyDown(object sender, KeyEventArgs e) { if (e.Key == Key.Escape) { if (_viewModel.IsShowingModalDialog) { _viewModel.CollapseApp(); } else { CloseButton_Click(null, null); } } else { KeyboardNavigator.OnKeyDown(this, ref e); } }
private void SystemEvents_DisplaySettingsChanged(object sender, EventArgs e) { Trace.WriteLine("FullWindow SystemEvents_DisplaySettingsChanged"); Dispatcher.BeginInvoke((Action)(() => _viewModel.CollapseApp())); }