【问题标题】:How can I customize generic exception message "Value '' could not be converted"如何自定义通用异常消息“无法转换值”
【发布时间】:2011-11-06 17:14:08
【问题描述】:

我有一个 ComboBox 绑定到具有特定值的属性 并且“由于某些特定的数据状态” ComboBox 不包含 任何项目(ItemsSource 为空)。 ComboBox 尝试使用 Binding on 查找具有特定值的项目 未找到的 ComboBox 的 SelectedValue 属性 并显示错误“无法转换值''”。

简化示例:

ID = 80;

<ComboBox DisplayMemberPath="Value"
          SelectedValuePath="ID"
          SelectedValue="{Binding ID}">
    <ComboBox.Items>
    </ComboBox.Items>
</ComboBox>

我知道 ComboBox 的状态并且我想自定义此消息 不知何故,例如。 “找不到所选值,验证条目的有效性”的本地化值。

我怎样才能做到这一点?

【问题讨论】:

    标签: wpf data-binding combobox


    【解决方案1】:

    一种方法是实现您自己的验证规则like this guy did 。或者从 IDataErrorInfo as seen in this questionthis one 继承。

    【讨论】:

    • 谢谢,这让我找到了正确的方向。我发现消息的来源是默认的 ExceptionValidationRule,WPF 使用它来捕获在绑定源属性更新期间引发的异常。我已经实现了新的自定义 ValidationRule,它检查绑定集合中的记录是否存在。
    猜你喜欢
    • 1970-01-01
    • 2017-08-12
    • 2015-11-04
    • 2012-01-17
    • 1970-01-01
    • 1970-01-01
    • 2019-12-06
    • 1970-01-01
    • 2019-09-01
    相关资源
    最近更新 更多