2016-12-13 5 views
0

私は内容としてTextBlockを持つCheckBoxをいくつか持っています。 各チェックボックスからTextBlock.Textを読みたいと思います。WPF読み取りCheckbox.Content

私がcheckBox.Content.ToString();のような内容を読んだ場合、私はちょうどSystem.Windows.Controls.TextBlockを得ることができます。

新しいTextBlockを作成してコンテンツを作成しようとしましたが、動作しませんでした。

TextBlock _tempTBL = new TextBlock(); 
    _tempTBL = checkBox.Content; 

ご協力いただきまして誠にありがとうございます。あなたがTextBlockにタイプをキャストする必要があり

答えて

3
var _tempTBL = (TextBlock) checkBox.Content; //Get handle to TextBlock 
var text = _tempTBL.Text; //Read TextBlock's text 

編集:サイドノートで

を、あなたは直接CheckBox'sコンテンツとして必要なテキストを設定することができます。

checkBox.Content = "Hello World";

そして、あなたがテキストにアクセスするときに、何の型キャストは

string text = checkBox.Content;

+0

ありがとうございます – mykds

+0

@mykdsまた、 'CheckBox's'の内容を文字列値として直接設定することもできます。私の編集を参照してください。 – Marshal

+0

まだ暗黙のキャストはありますか? 'Content'はオブジェクトの型を返します。 – ps2goat

3

// no need to 'new' it up if you're assigning an existing instance... 
TextBlock _tempTBL = (TextBlock) checkBox.Content; 
+2

を必要としない私はあなただけで提供されているコードで作業しているが、それはことに留意すべきである知っています'= new TextBlock()'は、次の行に捨てられる 'TextBlock'を作成するだけなので、不要です。 – adv12

+0

それだけです。ありがとうございます:-) – mykds

+0

@ adv12良い(クリーナー)ソリューションはありますか?編集:ああ私はあなたが意味するものを参照してください。最も簡単な方法は次のとおりです:TextBlock _tempTBL =(TextBlock)checkBox.Content; – mykds

関連する問題