wpf - 您可以将 DataTrigger 绑定(bind)到附加属性吗?

标签 wpf binding datatrigger

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

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

<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 绑定(bind)路径更改为“文本”,我不会收到数据绑定(bind)错误(但它当然不会提供我正在寻找的行为)。

最佳答案

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

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

关于wpf - 您可以将 DataTrigger 绑定(bind)到附加属性吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53301/

相关文章:

c# - 如何从 WPF 窗口堆栈面板中取出打印件

wpf - 复制 WPF 控件上的背景颜色

wpf - XAML 中的数据触发器/样式快速

wpf - TextBlock 文本的整数值 0 上的 DataTrigger 不起作用

c# - 在 .Net WPF/DirectX 中显示视频信号

wpf - WPF-顺序动画简单示例

xaml - x :Bind with DataTemplates 中 ElementName 的替代品

c# - 将 DataTable 绑定(bind)到 DataGrid - 不管怎样,前两列都是空的

wpf - 在 WPF 绑定(bind)中将值设置为 null

wpf - 无法在数据触发器中使用标签的自定义属性