WPF 绑定(bind)到数据触发器中的父内容

标签 wpf xaml styles datatrigger

我有一个带有样式的自定义控件。控件绑定(bind)到我的 View 模型中的属性

<controls:PromoAlarmBox Content="{Binding Controller.IOGRP1W.Value}"/>

我想创建一个数据触发器,它根据绑定(bind)值更改控件的颜色,这很有效

<Style TargetType="{x:Type local:PromoAlarmBox}">          
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="ContentControl">
                    <Rectangle x:Name="PART_rectangle" VerticalAlignment="Stretch" Fill="Yellow" Stroke="Black" Height="20" Width="20"/>

                    <ControlTemplate.Triggers>
                            <DataTrigger Binding="{Binding Controller.IOGRP1W.Value, UpdateSourceTrigger=PropertyChanged}" Value="1">

                            <Setter Property="Fill" TargetName="PART_rectangle" Value="Red" />

                        </DataTrigger>
                    </ControlTemplate.Triggers>    
                </ControlTemplate>
            </Setter.Value>
        </Setter>           
    </Style>

到目前为止一切顺利。如果我在 datatrigger 中引用与控件绑定(bind)的相同属性,我可以使它工作。我的问题是我有同一个控件的多个实例绑定(bind)到不同的值,我不想为每个实例创建一个新样式所以我的问题是如何绑定(bind)到数据触发器中控件的绑定(bind)值.

最佳答案

找到了。喜欢 WPF,但似乎您可以花数周时间研究不同的绑定(bind)表达式

 <DataTrigger Binding="{Binding Path=Content, RelativeSource={RelativeSource Mode=Self}}" Value="1">

关于WPF 绑定(bind)到数据触发器中的父内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17337730/

相关文章:

wpf - 使用 XamlWriter 在 XAML 中序列化图像

wpf - 如何将 RestClient 与 Oauth 2.0 和客户端 + TLS 证书一起使用?

c# - WPF应用程序框架IView问题

wpf - 在 Chromium 嵌入式框架中调试 JavaScript

WPF 工具包图表 - 折叠图表点

mysql - 无法添加实体数据模型 (EF6)

wpf - WPF 应用程序中的 XamlParseException - 但仅当安装在 XP 上时才会出现

android - 在 Android 中创建具有自定义样式的 TimePickerDialog

html - 内联 div 不会听从权威

wpf - 自定义菜单WPF(XAML)