2012-02-13 5 views
0

私が必要とするのは、の式です。の計算には、TextBlockというオーナーの方があります。Canvasです。TextBlockのフォントサイズを計算してCanvasに入力する方法は?

その後、TextBlockフォントサイズCanvasのすべてのスペースを埋めるためにすべきですか?のは、私がCanvas高さ100.0を持っているとしましょうか

P.S.そのHeightCanvasのそれにバインドされViewboxTextBlockを入れながら、主な問題は、私は水平に、それらのテキストブロックをスクロールすることである...

+2

TextBlockをViewboxに貼り付けてキャンバス領域に塗りつぶしても簡単ではないでしょうか? – jjrdk

答えて

0

私にはうまくいく解決策が見つかりました。

double h = canvas1.Height/2; 

foreach (var item in textBlocks) 
{ 
    if (item is TextBlock) 
    { 
     (item as TextBlock).FontSize = h; 
    } 
} 
2

は、なぜ、どんなFontSizeを使わないのでしょうか? (CanvasActualHeightを明示的に設定しない場合)

+0

いくつかのXAMLを提供してください。 –

+0

@DmitryBoyko:いいえ、それは自明ですが、まず自分自身を試してみてください。 –

+0

私はこのアプローチを使うことができないのではないかと心配しています...私は多くのTextBlockを持っているので。そして、彼らは水平にスクロールします。 –

1

私にとってうまくいく解決策が見つかりました。

double h = canvas1.Height/2; 
TextBlock1.FontSize = h; 
関連する問題