public PlayShellView(IEventAggregator eventBus, UserSettings settings, INotificationCenterMessageHandler handler, IDialogManager dialogManager, IExceptionHandler exceptionHandler, ISpecialDialogManager specialDialogManager) { InitializeComponent(); Loaded += OnRoutedEventHandler; _userSettings = settings; _handler = handler; _dialogManager = dialogManager; _exceptionHandler = exceptionHandler; _specialDialogManager = specialDialogManager; WorkaroundSystemMenu_Init(); this.WhenActivated(d => { // TODO //d(UserError.RegisterHandler<CanceledUserError>(x => CanceledHandler(x))); //d(UserError.RegisterHandler<NotLoggedInUserError>(x => NotLoggedInDialog(x))); //d(UserError.RegisterHandler<NotConnectedUserError>(x => NotConnectedDialog(x))); //d(UserError.RegisterHandler<BusyUserError>(x => BusyDialog(x))); d(this.WhenAnyValue(x => x.ViewModel).BindTo(this, v => v.DataContext)); d(this.OneWayBind(ViewModel, vm => vm.Overlay.ActiveItem, v => v.MainScreenFlyout.ViewModel)); d(this.OneWayBind(ViewModel, vm => vm.SubOverlay, v => v.SubscreenFlyout.ViewModel)); d(this.OneWayBind(ViewModel, vm => vm.StatusFlyout, v => v.StatusFlyout.ViewModel)); d(this.WhenAnyObservable(x => x.ViewModel.ActivateWindows) .ObserveOn(RxApp.MainThreadScheduler) .Subscribe(x => DialogHelper.ActivateWindows(x))); d(TryCreateTrayIcon()); }); ThemeManager.IsThemeChanged += CustomThemeManager.ThemeManagerOnIsThemeChanged; }