2009-11-14 4 views
5

У меня есть TabControl в WPF с 3 вкладками, и каждая вкладка имеет изображение рядом с названием вкладки. Вот примерWPF 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> 

Когда выбрана вкладка текст будет черным, а фон белый, когда его не это светло-серый цвет и немного темнее текст. Это отлично работает, но я не могу понять, как изменить изображения на вкладках, которые не выбраны? Прямо сейчас изображения выглядят одинаково, зеленый круг с номером внутри, но когда вкладка не выбрана, я бы хотел, чтобы она изменилась на другое изображение, то есть изображения/1_notselected.png и images/2_notselected.png, когда табуляция выбранный. Благодаря!

ответ

6

объявить стиль для TabItem, а внутренний стиль изменить изображение в триггере.

Объявите HeaderTemplate, а затем использовать триггер, как это:

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