针对来自另一个Datagrid的数据验证WPF数据网格

时间:2013-07-29 22:35:04

标签: c# wpf validationrules

有没有办法使用WPF ValidationRules在同一表单上的另一个数据网格中使用数据验证更新的字段?

我的页面如下:

Ranges
Min Max
 1  10

Rank
 5

所以在这种情况下Rank会更新,我需要确保它在另一个datagrid的rangea中的min和max之间。 我正在使用这种模式来验证来自网格的数据,但是当我需要从另一个网格传递数据时它不起作用:

public override ValidationResult Validate(object value, CultureInfo cultureInfo)
{
        EF.Rank rank = (value as BindingGroup).Items[0] as EF.Rank;

        //Need to Access the Ranges list from another datagrid on the same page to validate the the rank that was entered is between the min and max which can be adjusted.
}

1 个答案:

答案 0 :(得分:0)

从Microsoft官方WPF课程材料:ValidationRules仅用作简单验证(例如必填字段,数字格式等)。如果您需要高级/复杂的业务规则验证,您应该实现IDataErrorInfo或创建自己的验证机制(这就是我所做的,它就像一个魅力)