/// <summary> /// Constructor /// </summary> public ScreenSwitcher() { this.eventAggregator = ServiceLocator.Current.GetInstance <IEventAggregator>(); InitializeComponent(); this.eventAggregator.GetEvent <CurrentScreenChangedEvent>().Subscribe((args) => { Helpers.UIHelper.UiInvoke(DispatcherPriority.DataBind, false, () => { this.RaisePropertyChanged("ScreenManager"); }); }); this.ScreenManager = WpfScreenManager.Current; this.ScreenManager.DisplaySettingsChanged += ScreenManager_DisplaySettingsChanged; }
protected override void OnInitialized(EventArgs e) { base.OnInitialized(e); this.ScreenManager = new WpfScreenManager(this); this.ScreenManager.OnCurrentScreenChanged += (args) => { this.eventAggregator.GetEvent <CurrentScreenChangedEvent>().Publish(args); this.InvalidateVisual(); }; this.eventAggregator.GetEvent <SetBoundsWindowRequestEvent>().Subscribe(SetBoundsWindowRequestEventHandler, ThreadOption.PublisherThread, true); this.eventAggregator.GetEvent <LeftSidePanelCollapseRequestEvent>().Subscribe(LeftPanelCollapseRequestEventHandler, ThreadOption.PublisherThread, true); // Modal windows DialogManager dm = new DialogManager(this, this.DialogManagerPlaceHolder, this.MainRegionContentControl, this.Dispatcher); ModalDialogService dialogService = new ModalDialogService(dm); this.container.RegisterInstance <IModalDialogService>(dialogService); }
private void ScreenManager_DisplaySettingsChanged(object sender, EventArgs e) { WpfScreenManager.Current.UpdateCurrentScreen(); this.ScreenManager = WpfScreenManager.Current; }