2012-02-13 77 views
0

我需要的是一些公式計算字體大小的TextBlock它的主人 - Canvas如何計算TextBlock的字體大小以填充畫布?

比方說,我有Canvas高度100.0然後TextBlock字號應該是填補Canvas的所有空間?

附:主要的問題是,我水平滾動那些的TextBlocks ...

+2

將TextBlock粘貼到Viewbox中並讓它填充畫布區域會不會更容易? – jjrdk 2012-02-13 16:25:28

回答

0

我找到了適合我的解決方案。

double h = canvas1.Height/2; 

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

爲什麼不使用任何FontSize而把TextBlockViewboxHeight被綁定到了Canvas的? (當沒有明確設置ActualHeightCanvas

+0

你能提供一些XAML嗎? – 2012-02-13 16:25:47

+0

@DmitryBoyko:不,這很簡單,先爲自己嘗試。 – 2012-02-13 16:26:52

+0

恐怕我不能使用這種方法......因爲我有很多TextBlocks。他們水平滾動。 – 2012-02-13 16:30:32

1

我找到了適合我的解決方案。

double h = canvas1.Height/2; 
TextBlock1.FontSize = h;