Style.DataTrigger sur Fond de Frontière
J'ai la bordure ci-dessous. Pourquoi le premier plan de mon TextBlock fonctionnerait-il correctement mais l'arrière-plan de la bordure resterait-il toujours le même (comme si la propriété IsDeleted était toujours 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>
24
demandé sur
abatishchev
2010-07-30 21:16:57
1 réponses
Vous avez explicitement défini la valeur d'arrière-plan sur la bordure. Cela a plus de priorité que le déclencheur. Retirez le Background="#CBE2FF"
et prenez-le dans le style.
<Border.Style>
<Style TargetType="{x:Type Border}">
<Setter Property="Background" Value="#CBE2FF"/>
...
Cela aidera.
38
répondu
HCL
2010-07-30 17:22:52