【发布时间】:2012-01-13 18:07:16
【问题描述】:
我有一个数据网格,我在其中实施自己的验证检查。当出现错误时,我将行的边框设置为红色并向用户显示错误信息。但是,在我的数据网格中,也出现了一个红色感叹号。我想知道是否有办法隐藏这个?我尝试检查 Row.HasErrors() 但总是返回 false 并且 Row.ClearErrors() 也不会删除感叹号。
【问题讨论】:
标签: c# wpf validation datagrid
我有一个数据网格,我在其中实施自己的验证检查。当出现错误时,我将行的边框设置为红色并向用户显示错误信息。但是,在我的数据网格中,也出现了一个红色感叹号。我想知道是否有办法隐藏这个?我尝试检查 Row.HasErrors() 但总是返回 false 并且 Row.ClearErrors() 也不会删除感叹号。
【问题讨论】:
标签: c# wpf validation datagrid
一旦 datagridrow 出现错误,即使您清除错误,感叹号也不会消失。就我而言,我不需要行错误,因为我在单元格本身中显示错误。所以我使用 DataGrid.RowValidationErrorTemplate 来从不显示错误。
<DataGrid.RowValidationErrorTemplate>
<ControlTemplate>
<TextBlock Text=""></TextBlock>
</ControlTemplate>
</DataGrid.RowValidationErrorTemplate>
【讨论】:
<DataGrid.RowValidationErrorTemplate><ControlTemplate/></DataGrid.RowValidationErrorTemplate>
DataGridTextColumns 并且绑定有Mode=TwoWay,请尝试将其删除。就我而言,它解决了红色感叹号从未消失的问题。这是我有用的资源:@987654321@
你签出How to: Implement Validation with the DataGrid Control了吗?
这在一定程度上取决于感叹号在 DataGrid 中的确切位置。例如,如果它在发生验证的行上,您可以实现自己的 DataGrid.RowValidationErrorTemplate 或 DataGrid.ValidationErrorTemplate。
链接中有很多不同情况的例子。
【讨论】: