Exemple #1
0
        public WpfScreenManager(Window window)
        {
            this.window = window;
            this.OnCurrentScreenChanged += (args) => { System.Diagnostics.Debug.WriteLine("Primary screen changed : " + args.NewScreen.DeviceName); };
            Microsoft.Win32.SystemEvents.DisplaySettingsChanged += SystemEvents_DisplaySettingsChanged;

            this.ScreenList = WpfScreen.AllScreens().OrderBy(x => x.DeviceBounds.X).ToList();
            this.UpdateCurrentScreen();

            Current = this;
        }
Exemple #2
0
        void SystemEvents_DisplaySettingsChanged(object sender, EventArgs e)
        {
            this.ScreenList = WpfScreen.AllScreens().OrderBy(x => x.DeviceBounds.X).ToList();
            this.UpdateCurrentScreen();

            var handler = this.DisplaySettingsChanged;

            if (handler != null)
            {
                handler(this, new EventArgs());
            }
        }