Используя привязку для свойства Value условия DataTrigger

Я работаю над приложением WPF и борюсь с триггером данных. Я хотел бы связать значение триггерного условия к некоторому объекту, который я имею:

<DataTrigger Binding="{Binding Foo}" 
             Value="{Binding ElementName=AnotherElement, Path=Bar}">..

Однако мне не разрешают, поскольку это, кажется, не возможно использовать привязку для свойства Value. Это? Я могу достигнуть этого так или иначе? Я получаю следующую ошибку:

'Привязка' не может быть установлена на свойстве 'Value' типа 'DataTrigger'. 'Привязка' может только быть установлена на DependencyProperty DependencyObject.

25
задан stiank81 10 February 2010 в 21:16
поделиться

1 ответ

Нет, это невозможно. Как говорится в сообщении об ошибке, целями привязок WPF могут быть только свойства зависимости, а DataTrigger.Value не является свойством зависимости. Таким образом, вам нужно будет присвоить фактическое значение.

Обходной путь заключается в использовании привязки MultiBinding, дочерние привязки которой являются двумя привязками, которые вы хотите сравнить, с IMultiValueConverter, который возвращает true, если два входа равны, и false, если они не равны. Затем DataTrigger может использовать эту привязку MultiBinding и значение True.

37
ответ дан 28 November 2019 в 21:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: