检查是否有任何WPF DataGrid单元格有错误

Kri*_*rip 6 c# validation wpf datagrid

我在单元格上设置了验证,它按预期工作(在文本框周围放置一个红色突出显示,并添加错误的工具提示).但是,如果我尝试访问Valgen.GetHasError(TheGrid),其中TheGrid是我的DataGrid,它始终为false.有谁知道如何检查DataGrid中的任何单元格是否有错误?

我想这样做,所以如果有错误我可以禁用保存.

H.B*_*.B. 5

您可能会遇到虚拟化问题,但您可能需要查看容器:

var errors = (from c in
                  (from object i in _myGrid.ItemsSource
                   select _myGrid.ItemContainerGenerator.ContainerFromItem(i))
              where c != null
              select Validation.GetHasError(c))
             .FirstOrDefault(x => x);
if (errors)
{
    //There be errors
}
Run Code Online (Sandbox Code Playgroud)