你可以将DataTrigger绑定到附加属性吗?

Bra*_*ach 19 wpf binding datatrigger

在WPF中,DataTrigger是否可以绑定到附加属性?

我本质上希望在附加属性上使用转换器,以在特定验证规则被破坏时提供样式.我正在使用如下标记:

<DataTrigger Binding="{Binding Path=Validation.Errors, 
                       RelativeSource={RelativeSource Self}, 
                       Converter={StaticResource RequiredToBoolConverter}}" 
                       Value="True">
  <Setter Property="Background" Value="LightGreen" />
</DataTrigger>
Run Code Online (Sandbox Code Playgroud)

但是,当这运行时,我得到以下内容:

System.Windows.Data错误:39:BindingExpression路径错误:'object'''TextBox'(Name ='')'上找不到'Validation'属性.BindingExpression:路径= Validation.Errors; DataItem ='TextBox'(Name =''); target元素是'TextBox'(Name =''); target属性是'NoTarget'(类型'对象')

如果我将DataTrigger绑定路径更改为"Text",我不会得到数据绑定错误(但当然它不提供我正在寻找的行为).

Ken*_*art 27

您需要将该属性包装在括号中:

<DataTrigger Binding="{Binding Path=(Validation.Errors).YourAttachedProperty,...
Run Code Online (Sandbox Code Playgroud)

  • 这在MSDN上有记录,网址为http://msdn.microsoft.com/en-us/library/ms752300.aspx#Path_Syntax (4认同)
  • 新链接:https://msdn.microsoft.com/library/ms752300%28v=vs.100%29.aspx#Path_Syntax (3认同)