【发布时间】:2012-04-11 22:37:30
【问题描述】:
我们在 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 完成它:Validation of collection item against entire collection to prevent duplicates 我们可以将 XamDataGrid 项目集合传递给自定义验证器吗?
【问题讨论】:
标签: c# wpf xaml infragistics xamdatagrid