【问题标题】:Hide WPF DataGrid Row Error隐藏 WPF DataGrid 行错误
【发布时间】:2012-01-13 18:07:16
【问题描述】:

我有一个数据网格,我在其中实施自己的验证检查。当出现错误时,我将行的边框设置为红色并向用户显示错误信息。但是,在我的数据网格中,也出现了一个红色感叹号。我想知道是否有办法隐藏这个?我尝试检查 Row.HasErrors() 但总是返回 false 并且 Row.ClearErrors() 也不会删除感叹号。

【问题讨论】:

    标签: c# wpf validation datagrid


    【解决方案1】:

    一旦 datagridrow 出现错误,即使您清除错误,感叹号也不会消失。就我而言,我不需要行错误,因为我在单元格本身中显示错误。所以我使用 DataGrid.RowValidationErrorTemplate 来从不显示错误。

    <DataGrid.RowValidationErrorTemplate> <ControlTemplate> <TextBlock Text=""></TextBlock> </ControlTemplate> </DataGrid.RowValidationErrorTemplate>

    【讨论】:

    • 那行得通。您可以更进一步,也可以省略 TextBlock。&lt;DataGrid.RowValidationErrorTemplate&gt;&lt;ControlTemplate/&gt;&lt;/DataGrid.RowValidationErrorTemplate&gt;
    • 如果您使用DataGridTextColumns 并且绑定有Mode=TwoWay,请尝试将其删除。就我而言,它解决了红色感叹号从未消失的问题。这是我有用的资源:@​​987654321@
    【解决方案2】:

    你签出How to: Implement Validation with the DataGrid Control了吗?

    这在一定程度上取决于感叹号在 DataGrid 中的确切位置。例如,如果它在发生验证的行上,您可以实现自己的 DataGrid.RowValidationErrorTemplate 或 DataGrid.ValidationErrorTemplate。

    链接中有很多不同情况的例子。

    【讨论】:

    • 感谢您的链接!我发现了一些创建自己的模板的示例,但您发布的 MSDN 似乎是最好的工作示例。
    猜你喜欢
    • 1970-01-01
    • 2011-04-24
    • 2011-02-21
    • 1970-01-01
    • 2020-12-08
    • 1970-01-01
    • 2011-07-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多