2013-03-04 1 views
5

私はスタックパネル内にプログラムでn個のテキストブロックを作成しています。私は 'n'のテキストブロックのフォントサイズ(フォントサイズの増加と減少の両方)の変更を変更する必要があります。単一のステートメントですべての子パネルのフォントサイズを変更できますか?それが効率的にどのように解決される可能性がない場合は?スタックパネル内のすべての(n個の)texblockのフォントサイズをプログラムで変更するにはどうすればよいですか?

+0

あなたは実用的テキストブロックを作成している場合は、それらを作成しているとき、あなたはコードからのFontSizeを設定することはできませんか?なぜこの問題が発生するのかは明らかではないので、いくつかのコードを表示したいかもしれません。 –

答えて

4

はい、下記のコードスニペットを参照できます ここで、 'foobar'はStackpanelの名前を指します。

 foreach (var children in foobar.Children) 
     { 
      (children as TextBlock).FontSize = 20; 
     } 
+2

あなたはこのコードでnullRef例外を要求しています。 – MetaFight

1

あなたはStackPanel内のすべてのTextBlock秒間プロパティに値を適用するスタイルを使用することができます。

申し訳ありませんプレビュアの間違った答えです。

+0

何らかの理由で、あなたが言及した2つの方法のどれもWindows Phoneで動作しません。 'TextBlock'は' SetFontSize() 'メソッドを持たず、スタックパネルに' TextBlock.FontSize'を設定しようとしています。プレーンWPFで動作しません。 –

+0

@CosminPrund Windows Phone 7でSilverlightを使用していますか?または、他の何か? –

+0

Visual Studio 2012の[ファイル] - > [新規作成] - > [プロジェクト] - > [Windows Phone] - > [Windows Phone App]をデフォルトにしました。 –

8

あなたはマークアップでスタイルを適用することができます

<StackPanel.Resources> 
<Style TargetType="TextBlock"> 
    <Setter Property="FontSize" Value="20"/> 
</Style> 
</StackPanel.Resources> 
関連する問題