は、Nameという名前のプロパティを持つMyClass.csを持っていて、IDataErrorInfoを継承するviewModelを持ち、このViewModelのMyClassのマルチインスタンスを作成して追加したとします。 ObservableCollection < MyClassの>へのすべては、このコレクションは、DataGridののItemsSourceになり、そしてそれの無愛想1は今、DataGridTextColumnプロパティを名前にバインドされて良い以下のXAMLデータバインディング、IDataErrorInfoおよび複合プロパティーの名前付け
<DataGridTextColumn Binding="{Binding Name}" Header="Name" IsReadOnly="True" />
すべてのように、このwrks本当に良いことですIDataErrorInfoの列名を次のように指定する必要があります。
string IDataErrorInfo.this[string columnName]
{
get
{
string error = String.Empty;
switch (columnName)
{
case "WhatToPutHere":
error = validateName();
return error;
default:
throw new ApplicationException("Wrong Property name being validated");
}
}
}
問題は、この「名前」プロパティはここのビューモデルにありません。MyClass.csにはこのIDataErrorInfo列名を指定する必要があります。 MyClass.Nameの両方がうまくいかなかった、何か提案? ありがとうございます
上MyClass.csないでそこIDataErorInfoを実装しなければならなかった、私は名前と呼ばれるプロパティを持っていない、それは私が「MyClassの分野でそれを考え出しました私はIDataErrorInfoを実装していますので、このようなプロパティはありません – Musaab