2012-04-30 3 views
3

Я уже знаю о Binding.DoNothing, что можно вернуться из реализации IValueConverter, чтобы показать, что никакой другой операции не должно быть.Каковы специальные значения механизма привязки WPF при преобразовании значений?

Однако я не могу найти ссылку или документацию, красиво суммирующую, какие другие специальные значения - например, возврат возвращаемого значения. Кто они такие?

+0

Отказ происходит, если привязка не работает в первую очередь или, возможно, если какое-либо исключение вызывается при привязке. –

+0

лучший способ узнать о таких значениях - прочитать статьи о [Binding] (http://msdn.microsoft.com/en-us/library/ms617928.aspx) и [BindingBase] (http://msdn.microsoft .com/en-us/library/ms618281.aspx). Все, что вы можете использовать, указано там – koshdim

ответ

9

Binding.DoNothing - это экземпляр объекта, который вы активно возвращаете из преобразователя значений; он инструктирует механизм привязки не обновлять значение свойства target вообще. Вот a nice example от Джоша Смита из того, что вы можете использовать для этого.

FallbackValue - это свойство, которое вы устанавливаете на крепления; она позволяет указать значение, которое будет применяться к целевой собственности, если:

  • источник связывания не может быть разрешена (например, неправильным путем привязки), или
  • связывания значения свойства равно DependencyProperty.UnsetValue или
  • значение преобразователь используются для связывания генерирует исключение, или
  • преобразователя значений, используемый для связывания доходностей DependencyProperty.UnsetValue или
  • производимого значения связывающего трубопровода не является допустимым для целевого свойства (например, неправильный типа)

TargetNullValue - также свойство, которое вы устанавливаете на крепления; он позволяет указать значение, которое будет применено к целевому свойству, если значение свойства источника равно null. Например, если вы привязываете текстовое поле к свойству string TargetNullValue, вы можете выбрать то, что отображается в текстовом поле, если исходная строка null.

+0

А! DependencyProperty.UnsetValue. Это был тот, который я искал. –