【问题标题】:Check error state of WPF DataGrid检查 WPF DataGrid 的错误状态
【发布时间】:2011-10-27 14:29:49
【问题描述】:

我有一个绑定到零件集合的数据网格。 Part 的属性之一是 Quantity,一个整数,数据网格中的一个文本框绑定到这个数量字段。当用户在此框中输入一些垃圾数据(任何非整数)时,验证开始,该框以红色突出显示,并出现行错误消息。当数据网格处于该状态时,我希望禁用“保存”按钮,但我想不出任何方法来获取此信息。代码隐藏中的 Validation.GetHasError 返回 false,并且数量字段在我的视图模型中显示为 0。我该怎么做?

【问题讨论】:

    标签: wpf validation xaml datagrid


    【解决方案1】:

    对于这种情况,我在我的视图模型中使用 wrapperproperty 和 IDataErrorInfo。如果你有一个整数属性并且 wpf 不能将输入转换为整数 - 你会得到一个 BindingErrorException 并且它永远不会命中视图模型。

    public string MyQuantity {get ... set ...}
    

    然后,您可以轻松地使用 CanSaveCommandExecute 方法检查视图模型中 IDataErroInfo 的 Error 属性。这样做的好处是您在视图模型中拥有所有信息和控制权。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-29
      • 1970-01-01
      • 2010-10-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多