public void ChangeViewModel(BaseViewModel viewModel) { if (!Vms.Contains(viewModel)) { Vms.Add(viewModel); } // Zwracamy pierwszą wartość, która spełnia warunek przyrównania do szukanego vm'a ActualViewModel = Vms.FirstOrDefault(vm => vm == viewModel); }
public MainViewModel() { // Przypisanie domyślnych widoków LoginPage = new LoggingPageViewModel(model); TabPage = new TabVM(); LangTrain = new LanguageTrainingVM(); EfcardVM = new EditFlaszkardViewModel(); FlipTrain = new FlipCardTrainingVM(); // Wpisanie ich na miejsca w liście Vms.Add(LoginPage); Vms.Add(TabPage); Vms.Add(LangTrain); Vms.Add(EfcardVM); Vms.Add(FlipTrain); this._actualViewModel = LoginPage; // Starter VM // Dodanie funkcji zmiany na odpowiednie vm'y dla mediatora // Login Mediator.Subscribe("GoToTabsPage", GoToTabsScreen); // Logout Mediator.Subscribe("Logout", BackToLoginPage); // Mediator Train Languages Mediator.Subscribe("TrainLangs", TrainPredefinedLangs); // Mediator GoBack from Train Languages Mediator.Subscribe("BackFromTrain1", GoBackFromTrainLang); // Mediator EditFlashCard Mediator.Subscribe("EditFlashCard", GoToEditionScreen); // Mediator GoBack from edition Mediator.Subscribe("BackFromEditionFC", GoBackFromEditionScreen); // Mediator Train FlipCards Mediator.Subscribe("TrainFC", TrainFlipCards); // Mediator GoBack from Train FlipCards Mediator.Subscribe("BackFromTrainFC", GoBackFromTrainFlipcards); }