1

WPF アプリケーションで XamDataGrid を使用しています。これはうまく機能します。アプリケーションに IDataErrorInfo のサポートを追加しました。

<igDP:FieldLayoutSettings AllowFieldMoving="No"
    AutoGenerateFields="False"
    SupportDataErrorInfo="RecordsAndCells" 
    DataErrorDisplayMode="ErrorIconAndHighlight" />

このデータグリッドのバインディングは、IDataErrorInfo を実装するオブジェクト Foo の ObservableCollection に移動します。プロパティが空であるか文字数が多すぎる場合にエラーを生成する Text プロパティなどの個々のプロパティにデータ検証があります。これは、更新シナリオに最適です。エラーのあるセルが強調表示され、ツールヒントが表示されます。

  <igDP:Field Name="Text"
      Label="{base:TextID _TextField}">
  </igDP:Field>

達成する必要があるのは、データ ソースにバインドされた監視可能なコレクション全体に対するセルの値の検証です。そのため、ユーザーがテキスト セルの行 2 に「Apple」と入力したが、行 10 のテキスト セルに「Apple」が既に存在する場合、続行する前にユーザーが修正する必要があるエラー状態が生成されます。

XamDataGrid でこれを達成するにはどうすればよいでしょうか? オブジェクト Foo が自身のプロパティのみを検証し、コレクション全体を認識しないように、クリーンな状態を維持したいと考えています。

この記事は非常に近いですが、XamDataGrid でそれを達成する方法がわかりませ

4

1 に答える 1

3

これがあなたのために働くかもしれない解決策です:

http://brianlagunas.com/2012/04/11/validate-a-property-against-a-parent-collection/

于 2012-04-12T00:26:18.350 に答える