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

7

我已经在单元格上设置了验证,它按预期工作(在文本框周围放置红色高亮显示并添加带有错误的提示)。然而,如果我尝试访问Validation.GetHasError(TheGrid),其中TheGrid是我的DataGrid,则它始终为false。有人知道如何检查DataGrid中是否有任何单元格出现错误吗?

我想这样做是为了在存在错误时禁用保存功能。


我认为我对这个问题的回答以一种更友好的XAML方式解决了它。 - Aaron Goldman
1个回答

8
你可能会在虚拟化方面遇到问题,但你可能需要考虑容器:
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
}

1
谢谢,这基本上就是我最终做的事情,但我没有查看控件,而是检查了我的XAML所绑定的数据的错误属性。 - KrisTrip
@KrisTrip:如果您可以将其绑定到数据,那当然是首选,通常情况下,您不应该需要干预生成的容器。 - H.B.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接