2009-11-14 11 views
5

Tengo un TabControl en WPF con 3 pestañas, y cada pestaña tiene una imagen junto al título de la pestaña. He aquí un ejemploWPF TabItem Header Images

 <TabItem> 
      <TabItem.Header> 
       <StackPanel Orientation="Horizontal"> 
        <Image Name="img" Height="auto" Width="auto" Source="images/1.png" /> 
        <TextBlock Text="Login" Margin="2,0,0,0" VerticalAlignment="Center" /> 
       </StackPanel> 
      </TabItem.Header> 
     </TabItem> 

Cuando la lengüeta se selecciona el texto es negro y el fondo es blanco, cuando no es un color gris claro y un texto ligeramente más oscuro. Esto funciona muy bien, pero lo que no puedo entender es cómo cambiar las imágenes en las pestañas que no están seleccionadas. En este momento todas las imágenes tienen el mismo aspecto, círculo verde con un número dentro, pero cuando no se selecciona una pestaña, me gustaría cambiar a una imagen diferente, es decir, imágenes/1_notselected.png e images/2_notselected.png cuando la pestaña es es el seleccionado ¡Gracias!

Respuesta

6

declara un estilo para TabItem, y dentro de estilo cambia la imagen en un desencadenador.

Declarar una HeaderTemplate y luego usar disparador de esta manera:

<Trigger Property="IsSelected" Value="True"> 
     <Setter Property="Source" TargetName="img" Value="images/customimage.png"/> 
    </Trigger>