private QuestionViewModel CreateQuestionViewModel(Question question) { QuestionViewModel vm = QuestionViewModelFactory.GetViewModelForQuestion(question); vm.ResponseChanged += this.OnQuestionResponseChanged; return(vm); }
public ViewConductor( App app, SelectVocabularyViewModelFactory selectVocabularyViewModelFactory, QuestionViewModelFactory questionViewModelFactory) { _app = app; _selectVocabularyViewModelFactory = selectVocabularyViewModelFactory; _questionViewModelFactory = questionViewModelFactory; }
public ViewConductor( WindowManager windowManager, SelectVocabularyViewModelFactory selectVocabularyViewModelFactory, QuestionViewModelFactory questionViewModelFactory) { _windowManager = windowManager; _selectVocabularyViewModelFactory = selectVocabularyViewModelFactory; _questionViewModelFactory = questionViewModelFactory; _questionViewModel = new Lazy <QuestionViewModel>(() => CreateQuestionViewModel()); ViewModel = new MainViewModel(); }
private void OnStartup(object sender, StartupEventArgs e) { var mainWindow = new MainWindow(); var windowManager = new WindowManager(mainWindow); var selectVocabularyViewModelFactory = new SelectVocabularyViewModelFactory(); var questionViewModelFactory = new QuestionViewModelFactory(); var viewConductor = new ViewConductor(windowManager, selectVocabularyViewModelFactory, questionViewModelFactory); mainWindow.DataContext = viewConductor.ViewModel; mainWindow.Show(); try { var vocabularyTextParser = new VocabularyTextParser(); var vocabularyRepository = new FileVocabularyRepository(vocabularyTextParser); Bootstrapper.Startup.Run(viewConductor, vocabularyRepository); } catch (Exception exception) { windowManager.ShowMessage(exception.Message); } }