2011-08-30 63 views
4

我有一个组合框绑定到一个特定值 属性和”由于某些特定的数据状态“组合框不包含 任何项目(ItemsSource为空)。 ComboBox尝试使用绑定 ComboBox的SelectedValue属性查找具有特定值的项目,该项目未找到 ,并显示错误“Value”无法转换为“。我如何定制通用异常消息“值”无法转换“

简单的例子:

ID = 80; 

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

我知道ComboBox的状态和的,我想自定义该消息 莫名其妙如。 “无法找到所选值,验证条目的有效性”的本地化值。

我该如何做到这一点?

回答

2

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

+2

谢谢,这让我在正确的方向。 我发现消息的来源是一个默认的ExceptionValidationRule,WPF用它来捕获更新绑定源属性期间抛出的异常。 我已经实现了新的自定义ValidationRule,它检查绑定集合中记录的存在。 –