Итак, моя первая попытка сделала все из кода позади, и теперь я пытаюсь реорганизовать мой код, чтобы использовать шаблон MVVM, следуя указаниям MVVM в информации о коробке.
Я создал класс viewmodel для соответствия моему классу представления, и я перемещаю код из кода в viewmodel, начиная с команд.
Моя первая проблема - реализовать кнопку "Закрыть", которая закрывает окно, если данные не были изменены. Я установил CloseCommand для замены метода 'onClick', и все хорошо, за исключением тех случаев, когда код пытается выполнить this.Close()
. Очевидно, что поскольку код был перемещен из окна в обычный класс, "this" не является окном и поэтому не может быть закрыто. Однако, согласно MVVM, модель представления не знает о представлении, поэтому я не могу вызвать view.Close()
.
Может кто-нибудь подсказать, как можно закрыть окно из команды viewmodel?