public MainPage(MainViewModelArgs args) { InitializeComponent(); // If ViewModel is null, then this is the "primary" application Window if (args is null) { ViewModel = Ioc.Default.GetService <MainViewModel>(); MainDispatcher = Dispatcher; } else { ViewModel = new MainViewModel(args); } ViewModel.PropertyChanged += ViewModel_PropertyChanged; NavigationCacheMode = NavigationCacheMode.Enabled; Loaded += MainPage_Loaded; Unloaded += MainPage_Unloaded; Messenger.Register <CollectionsUpdatedMessage>(this, (o, m) => OnCollectionsUpdated(m)); Messenger.Register <AppSettingsChangedMessage>(this, (o, m) => OnAppSettingsChanged(m)); Messenger.Register <ModalClosedMessage>(this, (o, m) => { if (Dispatcher.HasThreadAccess) { OnModalClosed(); } }); Messenger.Register <PrintRequestedMessage>(this, (o, m) => { if (Dispatcher.HasThreadAccess) { PrintView.Show(this); // NB: Printing works by using an off-screen canvas inside // the FontMapView. OnModelOpened hides this canvas // preventing printing from working. So in the case of // printing, we do *not* hide the FontMap OnModalOpened(false); } }); Messenger.Register <ExportRequestedMessage>(this, (o, m) => { if (Dispatcher.HasThreadAccess) { ExportView.Show(this); OnModalOpened(); } }); this.SizeChanged += MainPage_SizeChanged; _uiSettings = new UISettings(); _uiSettings.ColorValuesChanged += OnColorValuesChanged; FilterCommand = new RelayCommand <object>(e => OnFilterClick(e)); ResourceHelper.GoToThemeState(this); }
public MainPage() { InitializeComponent(); ViewModel = Ioc.Default.GetService <MainViewModel>(); ViewModel.PropertyChanged += ViewModel_PropertyChanged; NavigationCacheMode = NavigationCacheMode.Enabled; Loaded += MainPage_Loaded; Unloaded += MainPage_Unloaded; MainDispatcher = Dispatcher; Messenger.Register <CollectionsUpdatedMessage>(this, (o, m) => OnCollectionsUpdated(m)); Messenger.Register <AppSettingsChangedMessage>(this, (o, m) => OnAppSettingsChanged(m)); Messenger.Register <ModalClosedMessage>(this, (o, m) => { if (Dispatcher.HasThreadAccess) { OnModalClosed(); } }); Messenger.Register <PrintRequestedMessage>(this, (o, m) => { if (Dispatcher.HasThreadAccess) { PrintView.Show(this); // NB: Printing works by using an off-screen canvas inside // the FontMapView. OnModelOpened hides this canvas // preventing printing from working. So in the case of // printing, we do *not* hide the FontMap OnModalOpened(false); } }); Messenger.Register <ExportRequestedMessage>(this, (o, m) => { if (Dispatcher.HasThreadAccess) { ExportView.Show(this); OnModalOpened(); } }); this.SizeChanged += MainPage_SizeChanged; _uiSettings = new UISettings(); _uiSettings.ColorValuesChanged += (s, e) => { _ = Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => { Messenger.Send(new AppSettingsChangedMessage(nameof(AppSettings.UserRequestedTheme))); }); }; FilterCommand = new RelayCommand <object>(e => OnFilterClick(e)); ResourceHelper.GoToThemeState(this); }
public MainPage() { InitializeComponent(); ViewModel = DataContext as MainViewModel; ViewModel.PropertyChanged += ViewModel_PropertyChanged; NavigationCacheMode = NavigationCacheMode.Enabled; Loaded += MainPage_Loaded; Unloaded += MainPage_Unloaded; MainDispatcher = Dispatcher; Messenger.Register <CollectionsUpdatedMessage>(this, (o, m) => OnCollectionsUpdated(m)); Messenger.Register <AppSettingsChangedMessage>(this, (o, m) => OnAppSettingsChanged(m)); Messenger.Register <ModalClosedMessage>(this, (o, m) => { if (Dispatcher.HasThreadAccess) { OnModalClosed(); } }); Messenger.Register <PrintRequestedMessage>(this, (o, m) => { if (Dispatcher.HasThreadAccess) { PrintView.Show(this); OnModalOpened(); } }); Messenger.Register <ExportRequestedMessage>(this, (o, m) => { if (Dispatcher.HasThreadAccess) { ExportView.Show(this); OnModalOpened(); } }); this.SizeChanged += MainPage_SizeChanged; _uiSettings = new UISettings(); _uiSettings.ColorValuesChanged += (s, e) => { _ = Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => { Messenger.Send(new AppSettingsChangedMessage(nameof(AppSettings.UserRequestedTheme))); }); }; FilterCommand = new RelayCommand <object>(e => OnFilterClick(e)); }