私はViewModelBaseクラスを使用して、INotifyPropertyChangedインターフェイスのRaisePropertyChangedメソッドを定義しています。ほとんどのMVVMの人々はこれにかなり精通しています。WPF MVVM:他のプロパティが変更されるたびに、Notifyプロパティが1つのプロパティを変更しました
私はViewModelBaseから継承する検証ViewModelも持っています。それは、インターフェイスと、そのプロパティを検証するいくつかのメソッドを実装します。それにはIsValidプロパティがあります。ルール違反があるかどうかを確認するゲッターだけです。しかし、ビューのこのプロパティにバインドすることを忘れると、しばらく更新する必要があります。これは、基本的には、他のプロパティが変更されるたびに、または少なくとも私が検証するプロパティになります。 1つの簡単な解決策は、RaisePropertyChangedメソッド内でIsValidに通知するだけですが、IsValidが定義されていないViewModelBaseで定義されています。
このジレンマには良い解決策がありますか?
有効なviewmodelクラスのRaisePropertyChangedを上書きすることはできませんか?そのオーバーライドされたメソッドでIsValidに通知することができます – thumbmunkeys
ええ、私はそれを行うことができると思います。それは私が気付かなかったのでとても簡単です。私は、OnRaiseProperty()という仮想メソッドを呼び出して、継承されたクラスで使用したい場合にも使用できると思います。 –