WPF での非同期検証に INotifyDataError インターフェイスを使用しています。私は財産を持っています
<TextBox Grid.Column="5"
Text="{Binding XXX.Name, ValidatesOnNotifyDataErrors=True}"/>
私のビューモデルにはプロパティがあります
public SomeType XXX
タイプ SomeType には、プロパティがあります
public string Name
現在、ViewModel は INotifyPropertyChanged と INotifyDataError を実装しており、検証はビューモデル クラスで非同期に行われます。SomeType は INotifyPropertyChanged のみを実装します。
私の質問はこれです。プロパティ名がどうあるべきかでErrorsChanged
イベントを発生させるとき。DataErrorsChangedEventArgs(propertyName))
私のバインディング パスはXXX.Name
. プロパティ名は
- XXX.名前
- 名前
または他の何か、またはSomeType
クラスにも INotifyDataErrorInfo を実装する必要がありますか?これは、検証をメイン ビュー モデルにとどめたいので、実行する必要がないことを望んでいました。
とにかく、上記の両方を試してみましたが、エラーイベントが発生していることを確認できますが、テキストボックスの周りに赤いボックスが表示されません。