2010-07-30 10 views
23

Tengo el borde debajo. ¿Por qué el primer plano de mi trabajo TextBlock correctamente, pero el fondo de la frontera siempre permanecen igual (como si la propiedad isDeleted siempre es falsa)Style.DataTrigger en el fondo del borde

<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> 

Respuesta

37

Ha configurado explícitamente el valor de fondo en la frontera. Esto tiene más prioridad que el disparador. Retire el Background="#CBE2FF" y llévelo al estilo.

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

Esto ayudará.

+0

perfecto. No sabía si lo configuré en la propiedad que superaba eso. Gracias – Miles

Cuestiones relacionadas