2015-05-06 79 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}"/>