Установите изображение, когда выбран табит - PullRequest
2 голосов
/ 08 января 2012

Я новичок в wpf и не могу понять, как установить изображение при выборе элемента вкладки.

Я пишу стиль, но он не работает.Он показывает мне что-нибудь ...

<Style TargetType="TabItem">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="TabItem">
                <Grid>
                   <StackPanel Orientation="Horizontal">
                       <HeaderedItemsControl Name="img"  >
                       </HeaderedItemsControl>
                   </StackPanel>
                </Grid>
             <ControlTemplate.Triggers>
             <Trigger Property="IsSelected" Value="True">
                   <Setter Property="Visibility" TargetName="img" Value="Visible"/>    
             </Trigger>      
             <Trigger Property="IsSelected" Value="False">
                   <Setter Property="Visibility" TargetName="img" Value="Hidden"/>
             </Trigger>
         </ControlTemplate.Triggers>      
       </ControlTemplate>     
     </Setter.Value>      
   </Setter>     
 </Style>     

Для управления вкладками я написал код:

 <TabControl Name="tabControl1"  
             HorizontalAlignment="Left"                  
             VerticalAlignment="Top" 
             Height="311" 
             Width="503">
    <TabItem Name="tabItem1" Background="Red"  >                
            <TabItem.Header>
                <Grid>
                    <TextBlock Text="   First" Width="100" Margin="-2,33,4,16" />
                    <Image  Name="img" Source="menu.png" Height="20" Margin="0,60,0,0" />
                </Grid>

            </TabItem.Header>
            <Grid>

            <TextBox Name="denumire" Margin="31,20,169,67" Height="20" Width="60"/>
            </Grid>

        </TabItem>
    <TabItem Name="tabItem2" Header="tabItem2" Background="Red">
        </TabItem>
    </TabControl>

1 Ответ

0 голосов
/ 09 января 2012

В вашем стиле измените HeaderedItemsControl на что-то вроде этого:

<HeaderedItemsControl>
    <TextBlock Text="{TemplateBinding Header}" Width="100"/>
    <Image x:Name="img" Source="menu.png" Height="20" />
</HeaderedItemsControl>

и удалите весь раздел <TabItem.Header> в вашем TabControl.

...