2015-05-06 55 views
0

我通常知道我们可以利用这个代码绑定的属性TextBlock的Selected Tab Header Text并显示所选选项卡:WPF绑定到选定文本的TabItem内一个TabControl

<TabControl Name="MyTabControl"> 
    <TabItem Header="Tab1"/> 
    <TabItem Header="Tab2" /> 
</TabControl> 

<Lable Content="{Binding ElementName=MyTabControl, Path=SelectedItem.Header}"/> 

但我怎么能结合的时候,我有此代码:

<TabControl Name="MyTabControl"> 
    <TabItem> 
     <TabItem.Header> 
       <StackPanel Orientation="Horizontal"> 
        <Image Source="/Images/a.png" /> 
        <TextBlock Text="Tab1" /> 
       </StackPanel> 
     </TabItem.Header> 
    </TabItem> 

    <TabItem> 
     <TabItem.Header> 
       <StackPanel Orientation="Horizontal"> 
        <Image Source="/Images/b.png" /> 
        <TextBlock Text="Tab2" /> 
       </StackPanel> 
     </TabItem.Header> 
    </TabItem> 

<Lable Content="{Binding ??????????? "/> 

回答

1

您可以使用HeaderTemplate,而不是将直接内容分配给标题。 请参阅下面的代码。

<TabControl Name="MyTabControl"> 
     <TabItem Header="Tab1"> 
      <TabItem.HeaderTemplate> 
       <DataTemplate> 
        <StackPanel Orientation="Horizontal"> 
         <Image Source="/Images/a.png" /> 
         <TextBlock Text="{Binding}"/> 
        </StackPanel> 
       </DataTemplate> 
      </TabItem.HeaderTemplate> 
     </TabItem> 

     <TabItem Header="Tab2"> 
      <TabItem.HeaderTemplate> 
       <DataTemplate> 
        <StackPanel Orientation="Horizontal"> 
         <Image Source="/Images/b.png" /> 
         <TextBlock Text="{Binding}"/> 
        </StackPanel> 
       </DataTemplate>     
      </TabItem.HeaderTemplate> 
     </TabItem> 
    </TabControl> 
    <Label Content="{Binding ElementName=MyTabControl, Path=SelectedItem.Header}"/>