2011-08-11 24 views
1

誰でもWPFのタブヘッダーの内容を取得する方法を理解できますか?タブヘッダーの内容を取得する

私が欲しいのは、ヘッダーのテキストなので、他の変数に割り当てることができますが、それを得る方法はないようです。

私はWPFにとって非常に新しいです。しかし、この問題を捜し求めている最後の1時間ほどで何か助けになるものはありませんでした。

おかげ

+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

これは助けになりました。 HeaderをTextBlockオブジェクトにキャストするだけでした。ありがとう! – Luke

+0

@ルーク:助けてくれてうれしい! (左側のチェックマークをクリックすると、回答を受け入れることができます(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とヘッダーをうまくカバーするようにあなたの答えが好きです。 – Paparazzi

+0

H.B.私はヘッダーを頻繁に設定しました。それはあなたがラインで得ることができないフォーマット(例えば改行)と整列を可能にします。 – Paparazzi