转换值时WPF绑定引擎的特殊值是什么?

时间:2012-04-30 13:35:57

标签: .net wpf ivalueconverter imultivalueconverter

我已经知道可以从IValueConverter实现返回的Binding.DoNothing,表示不应该进行其他操作。

但是,我找不到一个很好地总结的参考或文档,其他特殊值是什么 - 比如返回后备值。它们是什么?

1 个答案:

答案 0 :(得分:11)

Binding.DoNothing您从值转换器主动返回的对象实例;它指示绑定引擎根本不更新目标属性的值。这是Josh Smith的a nice example你可以用它来做什么。

FallbackValue是您在绑定上设置的属性;它允许您指定在以下情况下应用于目标属性的值:

  • 无法解析绑定源(例如错误的绑定路径)或
  • 绑定属性值等于DependencyProperty.UnsetValue
  • 用于绑定的值转换器抛出异常,或
  • 用于绑定的值转换器返回DependencyProperty.UnsetValue
  • 绑定管道生成的值对目标属性无效(例如错误类型)

TargetNullValue也是您在绑定上设置的属性;它允许您指定要在源属性的值为null时应用于目标属性的值。例如,如果将文本框绑定到字符串属性TargetNullValue,则可以选择文本框中显示的内容,如果源字符串为null