我在想如果微軟爲平板電腦和個人電腦製作了一個操作系統--Windows 8,那麼就必須有一種方法來控制FontSize。例如我有4列的主網格:在Windows 8中處理字體
<Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Grid>
<TextBlock FontSize="20" Text="First Title"/>
</Grid>
<Grid Grid.Column="1">
<TextBlock Text="Second Longer In Characters Title" FontSize="20"/>
</Grid>
</Grid>
在小型裝置,它看起來像這樣:
在更大的設備是這樣的:
它不可讀!
我已經試過了視框的解決方案,但
個
同樣FontSizes現在有不同的大小,因爲字符數
例子:
然後我試圖把所有的頁面中視框:
它也不好,因爲它毀了我所有的星形網格。
所以問題是:
1)有沒有一種方法來計算TextBlock的寬度,當我改變字號? 所以我可以這樣做:
foreach (TextBlock on a page)
{
//Find the textblock with biggest amount of characters
}
do
{
FoundTextBlock.FontSize=FontSize+1;
}
while (FoundTextBlock.WidthInPixel fits 200px)
foreach (TextBlock on a page)
{
//Set all text blocks the same FontSize
}
2)是否有得到拉伸koeficient ViewBoxes電流的方式,所以我可以用最少的發現和應用給別人?
3)FontStretch = property做什麼? - 我看不出有什麼不同?
4)任何其他方式來處理字體大小?