2011-08-11 30 views
1

任何人都可以帮助我找出一种方法来检索WPF中标签页标题的内容吗?检索选项卡标题内容

我想要的只是标题中的文本,所以我可以将它分配给其他变量,但似乎没有任何获取它的方法。

我对WPF很新,但最近一个小时左右用这个问题没有返回任何有用的东西。

感谢

+1

可以了代码PLZ? –

回答

1

你知道如何casting and such作品,对不对?

<TabControl> 
    <TabItem Name="_tabItem1" Header="MyHeader"/> 
</TabControl> 
//Header is an object and hence needs to be casted for retrieval as string 
string headerText = (string)_tabItem1.Header; 
MessageBox.Show(headerText); 

TabItem.Header可以是任何东西,即使是复杂的控制,所以如果你没有将其设置为一个字符串自己,你无法恢复它作为这样的字符串,要么是。

+0

我明白了。这有帮助。我只需要将标题转换为TextBlock对象。谢谢! – Luke

+0

@Luke:很高兴帮助! (你可以[接受](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)我的答案,点击左边的复选标记) –

1

使用TabItem.Header 例如下面的代码将设置第一个标签为“新头”的header

(tabControl1.Items[0] as TabItem).Header="New header"; 
2

XAML:

<TabControl x:Name="tabControl"> 
      <TabItem> 
       <TabItem.Header> 
        <TextBlock>SomeText</TextBlock> 
       </TabItem.Header> 
      </TabItem> 
     </TabControl> 

要访问文本:

((System.Windows.Controls.TextBlock)(((System.Windows.Controls.HeaderedContentControl)(this.tabControl.Items[0])).Header)).Text 

进入电影内容控制:

(System.Windows.Controls.HeaderedContentControl)(this.tabControl.Items[0])).Header) 
+0

像,谁来设置这样的标题? (好吧,可能有些人会这么做,但不太可能) –

+1

或者你可以在TextBlock x:Name =“tbTC1”上放置并命名,然后通过tbTC1.text访问它。 Sllev,我很喜欢你的答案,因为它很好地覆盖了tabcontrol和header。 – Paparazzi

+0

H.B.我常常设置标题。它允许格式化(例如换行符)和对齐方式,这些都不符合。 – Paparazzi