我们可以将DataTrigger绑定到添加属性吗?

时间:2020-03-05 18:50:29  来源:igfitidea点击:

在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 Error: 39 :
  BindingExpression path error:
  'Validation' property not found on
  'object' ''TextBox' (Name='')'.
  BindingExpression:Path=Validation.Errors;
  DataItem='TextBox' (Name=''); target
  element is 'TextBox' (Name=''); target
  property is 'NoTarget' (type 'Object')

如果我将DataTrigger绑定路径更改为"文本",则不会出现数据绑定错误(但是,它当然不提供我要查找的行为)。

解决方案

回答

我们需要将属性包装在括号中:

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