DataTrigger没有触发

Joh*_*ohn 9 .net wpf xaml datatrigger

我有以下xaml:

    <DockPanel>
    <DockPanel>
        <CheckBox IsChecked="{Binding Path=Test}" />
        <CheckBox IsChecked="{Binding Path=Test}" />
    </DockPanel>
    <DockPanel DockPanel.Dock="Left" Width="10" Background="Blue">
        <DockPanel.Style>
            <Style>
                <Style.Triggers>
                    <DataTrigger Binding="{Binding Path=Test}" Value="True">
                        <Setter Property="DockPanel.Background" Value="Yellow" />
                    </DataTrigger>
                </Style.Triggers>
            </Style>
        </DockPanel.Style>
    </DockPanel>
</DockPanel>
Run Code Online (Sandbox Code Playgroud)

现在 - 2个复选框正确链接 - 检查一个将检查另一个 - 但数据触发器根本没有触发.

我究竟做错了什么?

And*_*erd 33

这里的问题是财产价值优先权.

您当前正在DockPanel上直接将背景设置为蓝色.此显式属性将覆盖触发器设置的任何值.

相反,您必须将原始"背景"设置为样式中的设置器.

<DockPanel DockPanel.Dock="Left" Width="10">
    <DockPanel.Style>
        <Style>  
            <Setter Property="DockPanel.Background" Value="Blue" /> 
            <Style.Triggers>                    
                <DataTrigger Binding="{Binding Path=Test}" Value="True">                        
                    <Setter Property="DockPanel.Background" Value="Yellow" />                       
                </DataTrigger>
            </Style.Triggers>            
        </Style>        
    </DockPanel.Style>    
</DockPanel></DockPanel>
Run Code Online (Sandbox Code Playgroud)