我們在我們的WPF應用程序中使用XamDataGrid。它運作良好,我們在我們的應用程序添加了IDataErrorInfo的支持:XamDataGrid並針對整個集合驗證單元格項目
<igDP:FieldLayoutSettings AllowFieldMoving="No"
AutoGenerateFields="False"
SupportDataErrorInfo="RecordsAndCells"
DataErrorDisplayMode="ErrorIconAndHighlight" />
這個DataGrid中綁定去實現IDataErrorInfo的對象美孚的一個ObservableCollection。我們對單個屬性(如Text屬性)進行數據驗證,如果屬性爲空或字符太多,則會生成錯誤。這適用於更新場景 - 出現錯誤的單元格會突出顯示,並出現工具提示。
<igDP:Field Name="Text"
Label="{base:TextID _TextField}">
</igDP:Field>
我們需要完成什麼是細胞的抗綁定到數據源在整個觀察到收藏價值的確認。因此,如果用戶在Text 2單元格的第2行中鍵入「Apple」,但在第10行Text單元格中已存在「Apple」,則會在繼續之前生成用戶必須糾正的錯誤條件。
我們如何用XamDataGrid最好地實現這一點?我們希望保持它的清潔,以便對象Foo只驗證它自己的屬性並且不知道整個集合。
本文非常接近,但我不確定如何用XamDataGrid完成它:Validation of collection item against entire collection to prevent duplicates我們可以將XamDataGrid Items集合傳遞給自定義驗證器嗎?