2016-10-11 8 views
1

TabItemが選択されているときに画像を変更したいと思います。 TabItemを選択するとTabItemが選択されているときに画像を変更します。

これは私のXAML

<TabControl> 
<TapItem> 
    <TabItem.Header> 
     <StackPanel Orientation="Horizontal"> 
      <Image Source="aa.png"/> 
      <TextBlock>AA</TextBlock> 
     </StackPanel> 
    </TabItem.Header> 
</TapItem> 

ですが、私は "sel_aa.png" に "aa.png" から変更したいです。

答えて

2

あなたのTabItemを選択した場合はトリガーが起動されるとのTabItemがイメージソースがAAになり、選択されていない場合、画像ソースは、sel_aaに変更されます、あなたのTabItemのControlTemplate

<Style TargetType="{x:Type TabItem}"> 
     <Setter Property="Template"> 
      <Setter.Value> 
       <ControlTemplate TargetType="{x:Type TabItem}"> 
        <Grid> 
         <Grid.RowDefinitions> 
          <RowDefinition Height="30"></RowDefinition> 
          <RowDefinition Height="30"></RowDefinition> 
         </Grid.RowDefinitions> 
         <Border Grid.Row="0" Name="Border"> 
          <ContentPresenter Content="AA" VerticalAlignment="Center" Margin="5" HorizontalAlignment="Center" ContentSource="Header" /> 
         </Border> 
         <Image Grid.Row="1" x:Name="Image"/> 
        </Grid> 
        <ControlTemplate.Triggers> 
         <Trigger Property="IsSelected" Value="True"> 
          <Setter TargetName="Border" Property="Background" Value="Red" /> 
          <Setter TargetName="Image" Property="Image.Source" Value="sel_aa.png" /> 
         </Trigger> 
         <Trigger Property="IsSelected" Value="False"> 
          <Setter TargetName="Border" Property="Background" Value="Green" /> 
          <Setter TargetName="Image" Property="Image.Source" Value="aa.png" /> 
         </Trigger> 
        </ControlTemplate.Triggers> 
       </ControlTemplate> 
      </Setter.Value> 
     </Setter> 
    </Style> 

にトリガを追加することができます。

関連する問題