Я разрабатываю приложение для рисования, в котором мне нужно сохранить мою картину.
Чтобы сохранить, мне нужно показать диалог сохранения файла, так как я реализую шаблон MVVM, я не могу напрямую использовать обработчик событий.
Но во время реализации я подумал о том, чтобы использовать EventChanged directoly события.
Я реализовал INotifyPropertyChanged во ViewModel, я связал все команды.
В команде сохранения в ViewModel я позвонил
OnPropertyChanged("Show Save Dialog"); // in ViewModel
и в коде позади пользовательского контроля я добавил обработчик событий как
ViewModel.PropertyChanged += new // in code behind of user control
System.ComponentModel.PropertyChangedEventHandler(ViewModel_PropertyChanged);
и в ViewModel_PropertyChanged у меня есть
switch (e.PropertyName ) // in code behind of user control
{
case "Show Save Dialog": ShowSaveFileDialog();// this function shows dialog.
break;
}
Это прекрасно работает в моей ситуации, но я не знаю темной стороны этой реализации.
Это правильно ????