2009-11-14 12 views
5

J'ai un TabControl dans WPF avec 3 onglets, et chaque onglet a une image à côté du titre de l'onglet. Voici un exempleWPF 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> 

Lorsque l'onglet est sélectionné, le texte est noir et le fond est blanc, quand son pas est une couleur gris clair et un texte légèrement plus foncée. Cela fonctionne très bien, mais ce que je ne peux pas comprendre, c'est comment changer les images sur les onglets qui ne sont pas sélectionnés? À l'heure actuelle, les images se ressemblent toutes, un cercle vert avec un numéro à l'intérieur, mais quand un onglet n'est pas sélectionné, je voudrais qu'il change pour une image différente, c'est-à-dire images/1_notselected.png et images/2_notselected.png lorsque l'onglet est est le choisi. Merci!

Répondre

6

déclare un style pour TabItem, et le style intérieur modifie l'image dans un déclencheur.

Déclarer un HeaderTemplate et ensuite utiliser Trigger comme ceci:

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