私たちはWPFアプリケーションでXamDataGridを使用しています。それは我々がIDataErrorInfoのために我々のアプリケーションでサポートを追加し、うまく機能:このデータグリッドにバインドXamDataGridとコレクション全体に対してセル項目を検証する
<igDP:FieldLayoutSettings AllowFieldMoving="No"
AutoGenerateFields="False"
SupportDataErrorInfo="RecordsAndCells"
DataErrorDisplayMode="ErrorIconAndHighlight" />
IDataErrorInfoを実装するオブジェクトfooののObservableCollectionに行きます。プロパティが空であるか、文字数が多すぎる場合にエラーを生成するTextプロパティなど、個々のプロパティに対してデータ検証が行われます。これは更新シナリオで効果的です。エラーのあるセルが強調表示され、ツールチップが表示されます。
<igDP:Field Name="Text"
Label="{base:TextID _TextField}">
</igDP:Field>
達成する必要があるのは、データソースにバインドされた観察可能なコレクション全体に対するセルの値の検証です。したがって、ユーザーがTextセルの2行目に「Apple」と入力しても、「Apple」が10行目のTextセルにすでに存在する場合は、エラー状態を生成してから、続行してください。
これをXamDataGridでどうすれば最もうまく達成できますか?オブジェクトFooはそれ自身のプロパティを検証するだけで、全体的なコレクションについては知りません。
この記事は非常に近いですが、私はXamDataGridでそれを達成する方法がわかりません:Validation of collection item against entire collection to prevent duplicates XamDataGrid Itemsコレクションをカスタムバリデーターに渡すことはできますか?ここで