Можете ли вы привязать DataTrigger к присоединенному свойству? - PullRequest
19 голосов
/ 10 сентября 2008

В WPF возможно ли привязка DataTrigger к присоединенному свойству?

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

<DataTrigger Binding="{Binding Path=Validation.Errors, 
                       RelativeSource={RelativeSource Self}, 
                       Converter={StaticResource RequiredToBoolConverter}}" 
                       Value="True">
  <Setter Property="Background" Value="LightGreen" />
</DataTrigger>

Однако, когда это запускается, я получаю следующее:

System.Windows.Data Ошибка: 39: Ошибка пути BindingExpression: Свойство «Проверка» не найдено на 'object' '' TextBox '(Name =' ')'. BindingExpression: Path = Validation.Errors; DataItem = 'TextBox' (Name = ''); цель элементом является TextBox (Name = '); цель свойство «Нет цели» (тип «Объект»)

Если я изменю свой путь привязки DataTrigger на «Текст», я не получу ошибку привязки данных (но, конечно, она не обеспечивает нужное мне поведение).

1 Ответ

27 голосов
/ 10 сентября 2008

Вам необходимо заключить свойство в скобки:

<DataTrigger Binding="{Binding Path=(Validation.Errors).YourAttachedProperty,...
...