【发布时间】:2011-10-25 00:34:12
【问题描述】:
谁能帮我想办法在 WPF 中检索选项卡标题的内容?
我想要的只是标题中的文本,因此我可以将其分配给其他变量,但似乎没有任何方法可以获取它。
我对 WPF 很陌生.. 但是过去一个小时左右在谷歌上搜索这个问题并没有返回任何有用的信息。
谢谢
【问题讨论】:
标签: c# wpf silverlight xaml tabitem
谁能帮我想办法在 WPF 中检索选项卡标题的内容?
我想要的只是标题中的文本,因此我可以将其分配给其他变量,但似乎没有任何方法可以获取它。
我对 WPF 很陌生.. 但是过去一个小时左右在谷歌上搜索这个问题并没有返回任何有用的信息。
谢谢
【问题讨论】:
标签: c# wpf silverlight xaml tabitem
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)
【讨论】:
@-sign 否则不会通知人们)
你知道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 可以是任何东西,甚至是复杂的控件,因此如果您自己没有将其设置为字符串,您也无法将其作为字符串检索。
【讨论】:
使用TabItem.Header
例如以下代码会将第一个选项卡的header 设置为“新标题”:
(tabControl1.Items[0] as TabItem).Header="New header";
【讨论】: