2013-12-04 3 views
0

Я хочу, чтобы иметь возможность изменять изображение tabItem, когда оно выбрано, но я действительно боюсь в данный момент, чтобы понять, как другие реализуют использование стилей, шаблонов и триггеров.Изменить изображение на IsSelected TabControl

меня это до сих пор:

<TabControl HorizontalAlignment="Left" Height="386" VerticalAlignment="Top" Width="600" TabStripPlacement="Left" Background="{x:Null}" BorderBrush="{x:Null}" Foreground="{x:Null}"> 
     <TabItem Header="TabItem" BorderBrush="{x:Null}" Foreground="{x:Null}" Margin="-2,-2,-1,-28" Width="40" Height="59" HorizontalAlignment="Center" VerticalAlignment="Center"> 
      <TabItem.Background> 
       <ImageBrush ImageSource="myImageLocation" Stretch="Uniform"/> 
      </TabItem.Background> 
      <Grid/> 
     </TabItem> 
     <TabItem Header="TabItem" Margin="0,89,0,-89" BorderBrush="{x:Null}" Foreground="{x:Null}" Height="51" HorizontalAlignment="Center" Width="43"> 
      <TabItem.Background> 
       <ImageBrush ImageSource="myImageLocation" Stretch="Uniform"/> 
      </TabItem.Background> 
      <Grid/> 
     </TabItem> 

я установить изображение в качестве фона заголовков TabItem.

ответ

0

Взгляните на следующий пример:

<TabControl> 
    <TabControl.Resources> 
     <DataTemplate x:Key="tabItemGeneralHeaderTemplate"> 
      <StackPanel Orientation="Horizontal" Margin="0,-3,0,0"> 
       <Image Name="tabGeneralImg" Source="Image/tabGeneralActive.png" Width="11" Height="11"></Image> 
       <Label Name="tabGeneralLbl" Content="General"></Label> 
      </StackPanel> 
      <DataTemplate.Triggers> 
       <DataTrigger Binding="{Binding Path=IsSelected,RelativeSource={RelativeSource TemplatedParent}}" Value="True"> 
        <Setter TargetName="tabGeneralImg" Property="Source" Value="Images/tabGeneral.png"/> 
       </DataTrigger> 
      </DataTemplate.Triggers> 
     </DataTemplate> 
    </TabControl.Resources> 
    <TabItem Name="tabItemGeneral" HeaderTemplate="{StaticResource tabItemGeneralHeaderTemplate}"> 
     <Grid> 
      ... 
     </Grid> 
    </TabItem> 
</TabControl> 

Просто измените источник свойства изображений в какой-то путь в файловой системе, и вы должны делать хорошо :)