2011-05-02 79 views
0

我有一個標籤控件的WPF窗口,我定義的TabItems在XAML文件,如:綁定一個TextBlock的文本TabControl的項目在WPF

<TabControl> 
    <TabItem Name="tab1" Tag="Transactions"/> 
    <TabItem Name="tab2" Tag="Promotions" /> 
    ... 
</TabControl> 

別處屏幕,我有一個上我想用來顯示所選標籤的標籤值的文本塊。它在屏幕最初加載時起作用,並且每當選擇「交易」選項卡時,但當選擇了不同的選項卡時,它都是空白的。爲什麼是這樣,我怎樣才能讓它顯示任何選定標籤的標籤?這裏是TextBlock:

<TextBlock Text="{Binding ElementName=tabControl1, Path=SelectedItem.Tag}"/> 

回答

0

這工作正如我所料。 (你確實設置了TabControl的名稱,對嗎?)

請注意,如果TabControl通過ItemsSource填充,與您的示例代碼不同,SelectedItem將不包含TabItem,而是包含創建TabItem的數據對象,所以綁定路徑SelectedItem.Tag不起作用。使用

代碼:

<!-- Both controls enclosed in a Stackpanel --> 
<TabControl Name="tabControl1"> 
    <TabItem Name="tab1" Tag="Transactions"/> 
    <TabItem Name="tab2" Tag="Promotions" /> 
</TabControl> 
<TextBlock Text="{Binding ElementName=tabControl1, Path=SelectedItem.Tag}"/> 

的標籤頭顯然將是空的,但它們是可選的。

+0

不,沒有itemssource,它的填充方式與我所描述的完全相同,在XAML文件中有七個硬編碼標籤。你能告訴我你使用的代碼,你的文本塊和你的tabcontrol?除第一個標籤外,我的文本塊對所有標籤都是完全空白的。 – drowned 2011-05-02 17:43:02

+0

爲我的答案添加了代碼。 – 2011-05-02 18:09:47

+0

哇,這很奇怪......我只是粘貼你的文本塊,現在它的工作。唯一的區別是我有一個Name屬性。我真的不知道有什麼不同,但謝謝。 – drowned 2011-05-02 18:28:56