public MainViewModel(IMonitorService monitorService, IHotKeyService hotKeyService, ISettingsProvider settingsProvider, IStartupService startupService, IDialogService dialogService) { var monitors = monitorService.GetPhysicalMonitors(); Monitor = new MonitorViewModel(monitors.First(), monitorService); Monitor.BrightnessChanged += OnBrightnessChanged; Settings = new SettingsViewModel(settingsProvider, dialogService); Settings.SettingsChanged += OnSettingsChanged; MouseWheelCommand = new RelayCommand <MouseWheelEventArgs>(OnMouseWheelScroll); ShowWindowCommand = new RelayCommand(ShowWindow); ExitApplicationCommand = new RelayCommand(ExitApplication); IncreaseBrightnessCommand = new RelayCommand(IncreaseBrightness); DecreaseBrightnessCommand = new RelayCommand(DecreaseBrightness); _settingsProvider = settingsProvider; _startupService = startupService; _startupService.RunAppOnStartup(Settings.RunOnStartUp); _hotKeyManager = new HotKeyManagerViewModel(hotKeyService, this); _dialogService = dialogService; }