我在单元格上设置了验证,它按预期工作(在文本框周围放置一个红色突出显示,并添加带错误的工具提示)。但是,如果我尝试访问Valgen.GetHasError(TheGrid),其中TheGrid是我的DataGrid,它始终为false。有谁知道如何检查DataGrid中的任何单元格是否有错误?
我想这样做,所以如果有错误我可以禁用保存。
答案 0 :(得分: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
}