XamDataGrid并针对整个集合验证单元格项

时间:2012-04-11 22:37:31

标签: c# wpf xaml infragistics xamdatagrid

我们在WPF应用程序中使用XamDataGrid。它运行良好,我们在IDataErrorInfo的应用程序中添加了支持:

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

此datagrid上的绑定转到实现IDataErrorInfo的对象Foo的ObservableCollection。我们对各个属性进行了数据验证,例如Text属性,如果属性为空或者字符太多,则会生成错误。这适用于更新方案 - 突出显示包含错误的单元格并显示工具提示。

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

我们需要完成的是针对绑定到数据源的整个可观察集合验证单元格的值。因此,如果用户在第2行中为“文本”单元格键入“Apple”,但“Apple”已存在于第10行文本单元格中,则会生成错误条件,用户必须先纠正才能继续。

我们怎么能用XamDataGrid做到最好?我们希望保持清洁,以便对象Foo仅验证其自己的属性,并且不了解整个集合。

这篇文章非常接近,但我不知道如何使用XamDataGrid完成它:Validation of collection item against entire collection to prevent duplicates我们可以将XamDataGrid Items集合传递给自定义验证器吗?

1 个答案:

答案 0 :(得分:3)