我正在开发绘画应用程序,我需要在其中保存我的绘画。要保存我需要显示保存文件对话框,因为我正在实现 MVVM 模式,所以我不能直接使用事件处理程序。但是在实现时我想到了直接使用 PropertyChanged 事件。
我已经在 ViewModel 中实现了 INotifyPropertyChanged ,我已经绑定了所有命令。在 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;
}
这在我的情况下工作得很好,但我不知道这个实现的阴暗面。
这样对吗 ????