wpf - 边框背景上的 Style.DataTrigger

标签 wpf xml styles border datatrigger

我有下面的边框。为什么我的 TextBlock 的前景可以正常工作,但边框的背景总是保持不变(好像 IsDeleted 属性始终为 false)

<Border DockPanel.Dock="Top" BorderBrush="Black" Background="#CBE2FF" BorderThickness="2" CornerRadius="5" Padding="0" Margin="5">
    <Border.Style>
        <Style TargetType="{x:Type Border}">
            <Style.Triggers>
                <DataTrigger Binding="{Binding IsDeleted}" Value="True">
                    <Setter Property="Background" Value="#A00000"/>
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </Border.Style>
    <TextBlock Margin="5" FontWeight="Bold" FontSize="14" Text="Queue Details">
        <TextBlock.Style>
            <Style TargetType="{x:Type TextBlock}">
                <Style.Triggers>
                    <DataTrigger Binding="{Binding IsDeleted}" Value="True">
                        <Setter Property="Foreground" Value="White"/>
                    </DataTrigger>
                </Style.Triggers>
            </Style>
        </TextBlock.Style>
    </TextBlock>
</Border>

最佳答案

您已明确设置边框的背景值。这比触发器具有更高的优先级。删除 Background="#CBE2FF" 并将其放入样式中。

<Border.Style>
   <Style TargetType="{x:Type Border}">
      <Setter Property="Background" Value="#CBE2FF"/>
      ...

这会有所帮助。

关于wpf - 边框背景上的 Style.DataTrigger,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3373857/

相关文章:

css - Less继承 "virtual"类

xml - XSLT将线性结构转换为非线性

java node.appendChild 没有删除以前的标签

javascript - 评级星级问题悬停和取消选择

java - JSP标签页背景色设置方法

SQL:从另一个表动态构建一个表

wpf - 在另一个双资源中引用双资源

wpf - WPF 中的多重验证规则和验证模板

c# - 如何在非 UI 线程中使用 reg-free COM?

c# - 具有相同View的ListView