public MainWindowViewModel(ISnackbarMessageQueue snackbarMessageQueue) { if (snackbarMessageQueue == null) { throw new ArgumentNullException(nameof(snackbarMessageQueue)); } //登录界面 AtsItems.Add(new AtsItem("Log In", new Home() { DataContext = new HomeViewModel(snackbarMessageQueue) }) { VisibilityType = Visibility.Collapsed, Title = "Automatic Testing System" }); //自动测试界面 AtsItems.Add(new AtsItem("Auto Test", new TaskPage()) { VisibilityType = Visibility.Collapsed, Title = "Auto Test" }); //测试计划管理界面 AtsItems.Add(new AtsItem("Test Plan", new ProcessManage()) { VisibilityType = Visibility.Collapsed, Title = "Test Plan Management" }); //产品模型界面 AtsItems.Add(new AtsItem("Product Model", new ProductManageView()) { VisibilityType = Visibility.Collapsed, Title = "Product Model Management" }); //仪器设置界面 AtsItems.Add(new AtsItem("PN Manage", new PartNumber()) { VisibilityType = Visibility.Collapsed, Title = "Part Number Management" }); //仪器设置界面 AtsItems.Add(new AtsItem("Settings", new Settings()) { VisibilityType = Visibility.Collapsed, Title = "Instrument Settings" }); //模块EEPROM读取界面 AtsItems.Add(new AtsItem("EEPROM", new TablesView()) { VisibilityType = Visibility.Collapsed, Title = "EEPROM In Module" }); PreviewMouseLeftButtonDown = new RelayCommand(PreviewMLBD); LoadAllEnumSource(); CheckFiles(); LoadInstruments(); LoadProductModels(); }
public MainWindowViewModel(ISnackbarMessageQueue messageQueue, IEventAggregator eventAggregator) { MessageQueue = messageQueue; _eventAggregator = eventAggregator; _eventAggregator.GetEvent <DialogIsOpenChangedEvent>().Subscribe(x => DialogHostIsOpen = x, ThreadOption.UIThread); }
public MainWindowViewModel(ISnackbarMessageQueue snackbarMessageQueue) { var(settings, loadSettingsErrMsg) = Settings.LoadSettingsAsync().GetAwaiter().GetResult(); if (loadSettingsErrMsg is not null) { snackbarMessageQueue.Enqueue(loadSettingsErrMsg); } _settings = settings; _observableSettings = new(settings); _snackbarMessageQueue = snackbarMessageQueue; // Configure logging. var queuedTextBoxsink = new QueuedTextBoxSink(_observableSettings); var logger = new LoggerConfiguration() .WriteTo.Sink(queuedTextBoxsink) .CreateLogger(); Locator.CurrentMutable.UseSerilogFullLogger(logger); BackendService = new(_observableSettings); PresetDialogVM = new(ControlDialog); HomeVM = new(_observableSettings, BackendService, queuedTextBoxsink, PresetDialogVM, snackbarMessageQueue); SettingsVM = new(_observableSettings, BackendService, snackbarMessageQueue); Tabs = new object[] { HomeVM, SettingsVM, }; SaveSettingsAsyncCommand = ReactiveCommand.CreateFromTask <CancelEventArgs?, bool>(SaveSettingsAsync); }
public BackupsViewModel(IRegionManager regionManager, IDataAccess dataAccess, IEventAggregator eventAggregator, IBackupService backupService, IGoogleDrive googleDrive, ISnackbarMessageQueue messageQueue) : base(regionManager, eventAggregator) { _dataAccess = dataAccess; _backupService = backupService; _googleDrive = googleDrive; _messageQueue = messageQueue; _eventAggregator.GetEvent <BackupListUpdateRequestedEvent>().Subscribe(UpdateBackups); RefreshCommand = new DelegateCommand(UpdateBackups); AddCommand = new DelegateCommand(Add); RemoveCommand = new DelegateCommand <BackupModel>(Remove, x => SelectedBackup is object).ObservesProperty(() => SelectedBackup); RemoveSelectedCommand = new DelegateCommand(RemoveSelected, () => IsAllItemsSelected ?? true).ObservesProperty(() => IsAllItemsSelected); RestoreCommand = new DelegateCommand <BackupModel>(Restore, x => SelectedBackup is object).ObservesProperty(() => SelectedBackup); NavigateForwardCommand = new DelegateCommand(() => ++ CurrentPageIndex, () => To < TotalNumberOfBackups); NavigateBackwardCommand = new DelegateCommand(() => -- CurrentPageIndex, () => From > 1); NavigateToStartCommand = new DelegateCommand(() => CurrentPageIndex = 0, () => From > 1); NavigateToEndCommand = new DelegateCommand(() => CurrentPageIndex = TotalNumberOfBackups / PageSize, () => To < TotalNumberOfBackups); ShowInExplorerCommand = new DelegateCommand <BackupModel>(ShowInExplorer, x => SelectedBackup is object).ObservesProperty(() => SelectedBackup); UpdateNoteCommand = new DelegateCommand <BackupModel>(x => _dataAccess.UpdateNote(SelectedBackup.Backup)); UpdateIsLikedCommand = new DelegateCommand <BackupModel>(x => _dataAccess.UpdateIsLiked(SelectedBackup.Backup)); ExecuteDriveActionCommand = new DelegateCommand <BackupModel>(x => ExecuteCloudAction(SelectedBackup, Ct).ConfigureAwait(false), x => SelectedBackup is object && _googleDrive.IsAuthorized).ObservesProperty(() => SelectedBackup); RecoverCommand = new DelegateCommand <BackupModel>(x => RecoverAsync(x, Ct).ConfigureAwait(false), x => SelectedBackup is object && SelectedBackup.IsInGoogleDrive && !File.Exists(SelectedBackup.Backup.SavefilePath) && _googleDrive.IsAuthorized).ObservesProperty(() => SelectedBackup); Filter.PropertyChanged += (s, e) => OnFilterPropertyChanged(e.PropertyName); }
public AdminWindowViewModel([NotNull] ISnackbarMessageQueue snackBarMessageQueue) { if (snackBarMessageQueue == null) { throw new ArgumentNullException(nameof(snackBarMessageQueue)); } this.DemoItems = new[] { new DemoItem("Home", new AdminHome()), new DemoItem("Add Train", new AddTrain { DataContext = new AddTrainViewModel() }), new DemoItem( "Add Station", new AddStation { DataContext = new AddStationViewModel() }), new DemoItem("Add TTE", new AddTte { DataContext = new AddTteViewModel() }), new DemoItem( "Add Station Master", new AddStationMaster { DataContext = new AddStationMasterViewModel() }) }; }
private async void SaveAsync(ISnackbarMessageQueue snackbarMessageQueue) { var connection = _connectionProvider(); //TODO disable commands if (string.IsNullOrWhiteSpace(Document.Text) || connection == null) { return; } await DialogHost.Show(new ProgressRing(), _dialogTargetFinder.SuggestDialogHostIdentifier(), async delegate(object sender, DialogOpenedEventArgs args) { try { var response = await Save(connection, Document.Text); var jToken = JToken.Parse(response.Resource.ToString()); Document.Text = jToken.ToString(Formatting.Indented); args.Session.Close(); snackbarMessageQueue.Enqueue($"Saved document '{response.Resource.Id}'."); } catch (Exception exc) { args.Session.UpdateContent(new MessageDialog { Title = "Save Error", Content = exc.Message }); } }); }
public MainContentViewModel(IDialogService dialogService, ISnackbarMessageQueue snackbarMessageQueue) { this.dialogService = dialogService ?? throw new ArgumentNullException(nameof(dialogService)); this.snackbarMessageQueue = snackbarMessageQueue ?? throw new ArgumentNullException(nameof(snackbarMessageQueue)); OpenDialogCommand = new DelegateCommand(OpenDialog); }
public ShellViewModel( IClipboardManager clipboardManager, INHotkeyManagerMapper hotkeyManager, ISnackbarMessageQueue snackbarMessageQueue, IEventAggregator eventAggregator, IDialogHostMapper dialogHostMapper, ILoggerManager loggerManager, MainViewModel mainViewModel, AboutViewModel aboutViewModel) { this.clipboardManager = clipboardManager; this.hotkeyManager = hotkeyManager; this.SbMessageQueue = snackbarMessageQueue; this.eventAggregator = eventAggregator; this.dialogHostMapper = dialogHostMapper; this.loggerManager = loggerManager; this.mainViewModel = mainViewModel; this.aboutViewModel = aboutViewModel; this.eventAggregator.Subscribe(this); // Register hotkey this.RegisterHotkey(); // Load Menu items this.LoadMenuItems(); }
private void LoadPasswordModule(ISnackbarMessageQueue snackbarMessageQueue) { LoginViewModel = AutoSerializableHelper.LoadAutoSerializable <LoginViewModel>(DirectoryConstants.ConfigDirectory, "PD"); LoginViewModel.ShouldAutoSerialize = true; LoginViewModel.MessageQueue = snackbarMessageQueue; }
public ClientsPageViewModel(IClientsService clientsService, IResidencesService residencesService, ISnackbarMessageQueue snackbarMessageQueue, IDialogHost dialogHost, Hotel hotel) { _clientsService = clientsService; _residencesService = residencesService; _snackbarMessageQueue = snackbarMessageQueue; _hotel = hotel; _dialogHost = dialogHost; Clients = new ObservableCollection <Client>(_clientsService.Get()); ClientsViews = (CollectionView)CollectionViewSource.GetDefaultView(Clients); ClientsViews.Filter = ClientsFilter; FilteredFields = new Dictionary <string, string>(Client.Fields) { { AnyFieldFilterValue, "Любое поле" } }; SelectedFilterField = AnyFieldFilterValue; IsContainsFilter = true; SortedFields = new Dictionary <string, string>(Client.Fields) { { NoSortingSortValue, "Не сортировать" } }; SelectedSortField = NoSortingSortValue; IsAscendingSort = true; }
public Window1ViewModel(ISnackbarMessageQueue snackbarMessageQueue) { //if (snackbarMessageQueue == null) throw new ArgumentNullException(nameof(snackbarMessageQueue)); //DemoItems = new MenuTreeViewModel(); //List<Node> nodes = new List<Node>() //{ // new Node { ID = 1, Name = "中国" }, // new Node { ID = 2, Name = "北京市", ParentID = 1 }, // new Node { ID = 3, Name = "吉林省", ParentID = 1 }, // new Node { ID = 4, Name = "上海市", ParentID = 1 }, // new Node { ID = 5, Name = "海淀区", ParentID = 2 }, // new Node { ID = 6, Name = "朝阳区", ParentID = 2 }, // new Node { ID = 7, Name = "大兴区", ParentID = 2 }, // new Node { ID = 8, Name = "白山市", ParentID = 3 }, // new Node { ID = 9, Name = "长春市", ParentID = 3 }, // new Node { ID = 10, Name = "抚松县", ParentID = 8 }, // new Node { ID = 11, Name = "靖宇县", ParentID = 8 }, // new Node { ID = 12, Name = "甘肃省", ParentID = 1 }, // new Node { ID = 13, Name = "张掖市", ParentID = 12 }, // new Node { ID = 14, Name = "山丹县", ParentID = 13 }, // new Node { ID = 15, Name = "位奇镇", ParentID = 14 }, // new Node { ID = 16, Name = "清泉镇", ParentID = 14 }, // new Node { ID = 17, Name = "汪庄村", ParentID = 15 }, // new Node { ID = 18, Name = "新开村", ParentID = 15 }, // new Node { ID = 19, Name = "一社", ParentID = 17 }, // new Node { ID = 20, Name = "金昌市", ParentID = 12 } //}; //Nodes = Bind(nodes); }
public RDCGroupsViewModel(ISnackbarMessageQueue snackbarMessageQueue, IRDCGroupManager rdcGroupManager) { _snackbarMessageQueue = snackbarMessageQueue; _rdcGroupManager = rdcGroupManager; RDCGroups = new ObservableCollection <RDCGroup>(_rdcGroupManager.GetGroups()); }
public ShellViewModel( ISnackbarMessageQueue snackbarMessageQueue, IMediator mediator, IDialogHostMapper dialogHostMapper, ILocalizationService localizationService, IWindowManager windowManager, ISubscriptionAggregator subscriptionAggregator, AboutViewModel aboutViewModel, FinCalcViewModel finCalcViewModel) { this.SbMessageQueue = snackbarMessageQueue; this.mediator = mediator; this.dialogHostMapper = dialogHostMapper; this.localizationService = localizationService; this.windowManager = windowManager; this.subscriptionAggregator = subscriptionAggregator; this.aboutViewModel = aboutViewModel; this.finCalcViewModel = finCalcViewModel; this.subscriptionAggregator.Subscribe(this); this.LoadMenuItems(); this.LoadLanguages(); this.TitleBarText = Resources.AppTitleTxt_Text + " - " + Resources.FinCalcItem_Name; }
public MainOffersViewModel( IWebpageService webpageService, IBrowserService browserService, IMvxNavigationService navigationService, IUnitOfWork unitOfWork, ISnackbarMessageQueue snackbarMessageQueue, IMvxLog logger ) { _webpageService = webpageService; _browserService = browserService; _navigationService = navigationService; _unitOfWork = unitOfWork; SnackbarMessageQueue = snackbarMessageQueue; _logger = logger; Offers = new MvxObservableCollection <OfferViewModel>(); GetDataFromWebpageCommand = new MvxAsyncCommand(GetDataFromWebpage, CanGetDataFromWebpage); NavigateToOfferViewCommand = new MvxAsyncCommand(NavigateToOfferView); UpdatePricesCommand = new MvxAsyncCommand(UpdatePrices, CanUpdatePrices); DeleteCommand = new MvxAsyncCommand(DeleteOffer, CanDeleteOffer); InfoText = "Uruchomiono"; _logger.Debug("test uruchomiono MainOffersViewModel"); }
public ReservoirManagerViewModel(ISnackbarMessageQueue snackbarMessageQueue) { _snackbarMessageQueue = snackbarMessageQueue ?? throw new ArgumentNullException(nameof(snackbarMessageQueue)); _reservoirs = new ObservableCollection <ReservoirViewModel>(); //_reservoirs = CreateData(); }
public MainWindowViewModel(IRegionManager regionManager, ILogger logger, IEventAggregator eventAggregator) : base(logger, eventAggregator) { _regionManager = regionManager; MessageQueue = new SnackbarMessageQueue(); eventAggregator.GetEvent <SnackbarMessageEvent>().Subscribe(ShowSnackbarMessage); }
public MainWindowViewModel(ISnackbarMessageQueue snackbarMessageQueue) { _allItems = GenerateDemoItems(snackbarMessageQueue); FilterItems(null); MovePrevCommand = new AnotherCommandImplementation( _ => { if (!string.IsNullOrWhiteSpace(SearchKeyword)) { SearchKeyword = string.Empty; } SelectedIndex--; }, _ => SelectedIndex > 0); MoveNextCommand = new AnotherCommandImplementation( _ => { if (!string.IsNullOrWhiteSpace(SearchKeyword)) { SearchKeyword = string.Empty; } SelectedIndex++; }, _ => SelectedIndex < _allItems.Count - 1); }
/// <summary> /// Ctor. /// </summary> public MainWindowViewModel(ISnackbarMessageQueue messageQueue, IContainer container) { MessageQueue = messageQueue; DialogIdentifier = container.ResolveRootDialogIdentifier(); WindowSettings = Settings.Default.MainWindowSettings; }
public RootViewModel( IEventAggregator eventAggregator, ISettingsService settingsService, ICoreService coreService, IDebugService debugService, IRegistrationService builtInRegistrationService, ISnackbarMessageQueue snackbarMessageQueue, SidebarViewModel sidebarViewModel) { SidebarViewModel = sidebarViewModel; _eventAggregator = eventAggregator; _coreService = coreService; _debugService = debugService; _builtInRegistrationService = builtInRegistrationService; _snackbarMessageQueue = snackbarMessageQueue; _frameTimeUpdateTimer = new Timer(500); _colorScheme = settingsService.GetSetting("UI.ColorScheme", ApplicationColorScheme.Automatic); _windowSize = settingsService.GetSetting <WindowSize>("UI.RootWindowSize"); _themeWatcher = new ThemeWatcher(); ApplyColorSchemeSetting(); ActiveItem = SidebarViewModel.SelectedItem; ActiveItemReady = true; AssemblyInformationalVersionAttribute?versionAttribute = typeof(RootViewModel).Assembly.GetCustomAttribute <AssemblyInformationalVersionAttribute>(); WindowTitle = $"Artemis {versionAttribute?.InformationalVersion}"; }
public SettingsViewModel() { addonController = new AddonsControllerFactory().CreateAddonController(); settingsManager = domainFactory.CreateSettingsManager(); NotificationQueue = new SnackbarMessageQueue(); }
public MainWindowViewModel(ISnackbarMessageQueue snackbarMessageQueue, ListBox MenuBox) { if (snackbarMessageQueue == null) { throw new ArgumentNullException(nameof(snackbarMessageQueue)); } MenuItems = new[] { new Domain.MenuItem("Home", new Home { DataContext = new HomeViewModel(MenuBox) }), new Domain.MenuItem("Analyzer", new Analyzer { DataContext = new AnalyzerViewModel(snackbarMessageQueue) }), new Domain.MenuItem("Record Manager", new RecordManager { DataContext = new RecordManagerViewModel(snackbarMessageQueue) }), new Domain.MenuItem("Reservoir Manager", new ReservoirManager { DataContext = new ReservoirManagerViewModel(snackbarMessageQueue) }), new Domain.MenuItem("Helper", new Helper { DataContext = new HelperViewModel() }), }; }
public MainWindowViewModel(ISnackbarMessageQueue snackbarMessageQueue) { try { if (snackbarMessageQueue == null) { throw new ArgumentNullException(nameof(snackbarMessageQueue)); } ItemMenus = new[] { new MenusItems(ConstantsDashBoard.NameWindowDashBoard, typeof(DashBoard)), new MenusItems(ConstantsClients.NameWindowClientsList, typeof(ClientsList)), new MenusItems(ConstantsAccessPage.NameWindowAccessPage, typeof(AccessPage)), new MenusItems(ConstantsFingerPrints.NameWindowFingerPrints, typeof(FingerPrintsCreate)), new MenusItems(ConstantsServiceGym.NameWindowServiceGymsList, typeof(ServiceGymsList)), new MenusItems(ConstantsServiceGymType.NameWindowServiceGymTypeList, typeof(ServiceGymTypesList)), new MenusItems(ConstantsServiceGymContracts.NameWindowServiceGymContractsList, typeof(ServiceGymContractsList)) }; } catch (Exception ex) { throw new Exception(string.Format("Error {0}", ex.Message), ex); } }
public RDCUserAccountsViewModel(ISnackbarMessageQueue snackbarMessageQueue, IUserAccountManager userAccountManager) { _snackbarMessageQueue = snackbarMessageQueue; _userAccountManager = userAccountManager; Accounts = new ObservableCollection <UserAccount>(_userAccountManager.GetUserAccounts()); }
public MainViewModel(ISnackbarMessageQueue snackbarMessageQueue) { if (snackbarMessageQueue == null) { throw new ArgumentNullException(nameof(snackbarMessageQueue)); } menuItems = new[] { new MenuItem("На главную", new Home() { DataContext = new HomeViewModel() }), new MenuItem("Бот 1", new Bot1TabControl { DataContext = new Bot1ContentViewModel() }), new MenuItem("Бот 2", new Bot2TabControl { DataContext = new Bot2ContentViewModel() }), new MenuItem("Бот 3", new Bot3TabControl { DataContext = new Bot3ContentViewModel() }), new MenuItem("Бот 4", new Bot4TabControl { DataContext = new Bot4ContentViewModel() }), }; }
public SettingsViewModel(ISnackbarMessageQueue snackbarMessageQueue) { _snackbarMessageQueue = snackbarMessageQueue ?? throw new ArgumentNullException(nameof(snackbarMessageQueue)); _followOSColorMode = true; _lightMode = false; _darkMode = false; _autoUpdateDl = true; _dlPath = ""; _ffmpegPath = ""; _proxy = ""; _paletteHelper = new PaletteHelper(); _changeColorMode = new DelegateCommand(OnChangeColorMode); _browseExe = new DelegateCommand(OnBrowseExe); settingsChangedEvent = EventAggregator.Instance.GetEvent <SettingsChangedEvent>(); // subscribe to settings changes published by HomeViewModel EventAggregator.Instance.GetEvent <SettingsFromHomeEvent>().Subscribe(async x => { _settings = x; await SaveSettingsAsync(); }); // load and apply settings from json Task.Run(LoadSettingsAsync).ContinueWith(x => ApplySettings()); }
public MainViewModel(ISnackbarMessageQueue messageQueue, Interfaces.ILog log, IBookmarkService bookmarkService, [ImportMany] IEnumerable <ExportFactory <IPageViewModel, IPageViewModelMetadata> > viewModels, [ImportMany] IEnumerable <Lazy <IPageView, IPageViewMetadata> > views, DialogHelpViewModel helpViewModel) { _log = log; _pageFactories = viewModels.ToDictionary(vm => vm.Metadata.Context, vm => (ExportFactory <IPageViewModel>)vm); _bookmarkService = bookmarkService; MessageQueue = messageQueue; Pages = new ObservableCollection <Model.Context>(views.Where(p => p.Metadata.Context != null).OrderBy(p => p.Metadata.Index).Select(p => (Model.Context)Activator.CreateInstance(p.Metadata.Context))); Bookmarks = new ObservableCollection <Context>(_bookmarkService.Bookmarks); Tabs = new ObservableCollection <IPageViewModel>(); UseDarkColorScheme = Properties.Settings.Default.DarkColorScheme; OpenInNewTab = Properties.Settings.Default.OpenInNewTab; OpenTabCommand = new DelegateCommand <Context>(CreateTab); ReplaceTabCommand = new DelegateCommand <Context>(ReplaceTab); CloseTabCommand = new DelegateCommand <PageViewModel>(CloseTab, t => Tabs.Count > 1); ReindexCommand = new DelegateCommand(() => _log.Update(null, CancellationToken.None)); OpenCommand = new DelegateCommand <string[]>(Open); EditCommand = new DelegateCommand <SearchContext>(_bookmarkService.Edit, c => !c.IsFromRepository); DeleteCommand = new DelegateCommand <SearchContext>(_bookmarkService.Remove, c => !c.IsFromRepository); SaveCommand = new DelegateCommand(() => _bookmarkService.Save((SearchContext)CurrentTab.Context), () => CurrentTab is IPageViewModel page && page.Context is SearchContext); ManageBookmarksCommand = new DelegateCommand(_bookmarkService.Manage); SelectBookmarkRepositoryCommand = new DelegateCommand(SelectBookmarkRepository); ClearBookmarkRepositoryCommand = new DelegateCommand(ClearBookmarkRepository, () => !string.IsNullOrEmpty(Properties.Settings.Default.BookmarkRepositoryFile)); ShowHelpCommand = new DelegateCommand(() => DialogHost.Show(helpViewModel)); // update the bookmark list when the service updates _bookmarkService.CollectionChanged += (s, e) => { Bookmarks.Clear(); Bookmarks.AddRange(_bookmarkService.Bookmarks); }; // create the initial tab CreateTab((Context)Pages.First().Clone()); }
public ProfileExportViewModel(ProfileDescriptor profileDescriptor, IProfileService profileService, ISnackbarMessageQueue mainMessageQueue) { ProfileDescriptor = profileDescriptor; _profileService = profileService; _mainMessageQueue = mainMessageQueue; }
public ProfileEditorViewModel(ProfileModule module, ProfileViewModel profileViewModel, ProfileTreeViewModel profileTreeViewModel, DisplayConditionsViewModel dataModelConditionsViewModel, LayerPropertiesViewModel layerPropertiesViewModel, IProfileEditorService profileEditorService, IProfileService profileService, IDialogService dialogService, ISettingsService settingsService, IModuleService moduleService, ISnackbarMessageQueue snackbarMessageQueue) { _profileEditorService = profileEditorService; _profileService = profileService; _settingsService = settingsService; _moduleService = moduleService; _snackbarMessageQueue = snackbarMessageQueue; DisplayName = "PROFILE EDITOR"; Module = module; DialogService = dialogService; Profiles = new BindableCollection <ProfileDescriptor>(); // Populate the panels ProfileViewModel = profileViewModel; ProfileTreeViewModel = profileTreeViewModel; DisplayConditionsViewModel = dataModelConditionsViewModel; LayerPropertiesViewModel = layerPropertiesViewModel; Items.Add(ProfileViewModel); Items.Add(ProfileTreeViewModel); Items.Add(dataModelConditionsViewModel); Items.Add(LayerPropertiesViewModel); }
public MainViewModel(INavigationService NavigationService, ISnackbarMessageQueue SnackBarMessageQueue) : base() { this.SnackBarMessageQueue = SnackBarMessageQueue; //TODO: move into View? Due to independency reasons and stuff? this.navigationService = NavigationService; this.Menu = new MenuUserControlViewModel(this.navigationService); }
public MainWindow(ParkingList parkingList, ISnackbarMessageQueue messageQueue) { InitializeComponent(); DataContext = this; ContentControl.Content = parkingList; MessageQueue = messageQueue; }