私は自分の絵を保存する必要がある絵のアプリケーションを開発しています。保存するには、ファイルの保存ダイアログを表示する必要があります。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;
}
これは私の状況ではうまく機能しますが、この実装のダークサイドはわかりません。
正しいですか????