Можете ли вы привязать DataTrigger к прикрепленному свойству?

Можно ли в 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: свойство 'Validation' не найдено в 'object' '' TextBox '(Name =' ')'. BindingExpression: Путь = Validation.Errors; DataItem = 'TextBox' (Имя = ''); целевой элемент - TextBox (Name = ''); целевое свойство - 'NoTarget' (тип 'Object')

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


person Brad Leach    schedule 10.09.2008    source источник


Ответы (1)


Вам нужно заключить свойство в круглые скобки:

<DataTrigger Binding="{Binding Path=(Validation.Errors).YourAttachedProperty,...
person Kent Boogaart    schedule 10.09.2008
comment
Это задокументировано в MSDN по адресу msdn.microsoft.com/en-us/ library / ms752300.aspx # Path_Syntax - person M. Dudley; 30.11.2009