Когда использовать DataTrigger, а когда использовать Converter? - PullRequest
1 голос
/ 09 августа 2010

Есть ли какие-либо предположения или правила, когда мы можем использовать DataTrigger и когда мы можем использовать Converter?

Ответы [ 2 ]

2 голосов
/ 09 августа 2010

DataTriggers используются для изменения стиля в зависимости от конкретного значения.Например, измените TextBlock на красный, если его содержимое имеет число ниже 0.

Преобразователь используется для преобразования значения в значение другого типа.Например, чтобы преобразовать логическое значение в перечисление Visibility

1 голос
/ 09 августа 2010

DataTrigger может использоваться только для проверки определенного значения - например, он не может проверять диапазоны.DataTrigger может быть объединен для нескольких условий (MultiTrigger) - ValueConverter может преобразовывать только одно значение в другое.(Конечно, MultiValueConverter может принимать много значений (и прослушивать обновления для всех из них - но все равно возвращать только одно значение.))

Эти два значения могут использоваться совместно, хотя, скажем, наличие ValueConverterкоторый проверяет, находится ли значение ниже 50 (возвращает true), чтобы активировать DataTrigger (поместите его в Связывание DataTrigger).

Итак, в моей книге нет золотого правила - только обстоятельства, которые могут привести к одномуиз них непригодны (или очень, очень трудно наносятся).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...