DataGrid.RowValidationRules 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取用于验证每个行中的数据的规则。
public:
property System::Collections::ObjectModel::ObservableCollection<System::Windows::Controls::ValidationRule ^> ^ RowValidationRules { System::Collections::ObjectModel::ObservableCollection<System::Windows::Controls::ValidationRule ^> ^ get(); };
public System.Collections.ObjectModel.ObservableCollection<System.Windows.Controls.ValidationRule> RowValidationRules { get; }
member this.RowValidationRules : System.Collections.ObjectModel.ObservableCollection<System.Windows.Controls.ValidationRule>
Public ReadOnly Property RowValidationRules As ObservableCollection(Of ValidationRule)
属性值
用于验证每行数据的规则。
示例
以下示例演示了一个用于检查对象的属性值Course
是否StartDate
早于其EndDate
属性值的一个ValidationRule示例。 此代码示例是 有关如何:使用 DataGrid 控件主题实现验证 的较大示例的一部分。
public class CourseValidationRule : ValidationRule
{
public override ValidationResult Validate(object value,
System.Globalization.CultureInfo cultureInfo)
{
Course course = (value as BindingGroup).Items[0] as Course;
if (course.StartDate > course.EndDate)
{
return new ValidationResult(false,
"Start Date must be earlier than End Date.");
}
else
{
return ValidationResult.ValidResult;
}
}
}
Public Class CourseValidationRule
Inherits ValidationRule
Public Overrides Function Validate(ByVal value As Object, _
ByVal cultureInfo As System.Globalization.CultureInfo) _
As ValidationResult
Dim course As Course = _
CType(CType(value, BindingGroup).Items(0), Course)
If course.StartDate > course.EndDate Then
Return New ValidationResult(False, _
"Start Date must be earlier than End Date.")
Else
Return ValidationResult.ValidResult
End If
End Function
End Class
以下示例在 RowValidationRules XAML 中设置属性。 该 ValidationStep 属性设置为 UpdatedValue ,以便仅在更新绑定数据对象后进行验证。 当用户指定早于开始日期的结束日期时,行标题中将显示一个红色感叹号 (!) 。
<DataGrid.RowValidationRules>
<local:CourseValidationRule ValidationStep="UpdatedValue"/>
</DataGrid.RowValidationRules>
注解
借助该 DataGrid 控件,可以在单元格和行级别执行验证。 使用单元格级验证,可以在用户更新值时验证绑定数据对象的单个属性。 通过行级验证,用户在提交对行的更改时验证整个数据对象。 若要创建自定义验证规则,请创建派生自 ValidationRule 该类并实现该方法的 Validate 类。 将自定义验证规则添加到 RowValidationRules 集合。
如果使用该 ItemBindingGroup 属性,则忽略该 RowValidationRules 属性。