Каковы специальные значения механизма привязки WPF при преобразовании значений?
Я уже знаю о Binding.DoNothing, который можно вернуть из реализации IValueConverter, чтобы показать, что никакая другая операция не должна выполняться.
Тем не менее, я не могу найти ссылку или документацию, в которой хорошо суммируются другие специальные значения, такие как возврат запасного значения. Кто они такие?
1 ответ
Binding.DoNothing
это экземпляр объекта, который вы активно возвращаете из преобразователя значений; он указывает механизму привязки вообще не обновлять значение целевого свойства. Вот хороший пример Джоша Смита, для чего вы можете использовать это.
FallbackValue
это свойство, которое вы устанавливаете для привязок; это позволяет вам указать значение, которое будет применено к целевому свойству, если:
- источник привязки не может быть разрешен (например, неверный путь привязки), или
- значение свойства привязки равно
DependencyProperty.UnsetValue
, или же - преобразователь значения, используемый для привязки, генерирует исключение, или
- конвертер значений, используемый для возврата привязки
DependencyProperty.UnsetValue
, или же - значение, созданное конвейером привязки, недопустимо для целевого свойства (например, неправильный тип)
TargetNullValue
это также свойство, которое вы устанавливаете для привязок; это позволяет вам указать значение, которое будет применено к целевому свойству, если значение исходного свойства null
, Например, если вы привязываете текстовое поле к строковому свойству TargetNullValue
позволяет выбрать то, что появляется в текстовом поле, если исходная строка null
,