我有下面的边框。为什么我的TextBlock的前景可以正常工作,但是边框的Background始终保持不变(就像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/