Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在Windows8中处理字体_C#_Wpf_Xaml_Windows 8_Windows 8.1 - Fatal编程技术网

C# 在Windows8中处理字体

C# 在Windows8中处理字体,c#,wpf,xaml,windows-8,windows-8.1,C#,Wpf,Xaml,Windows 8,Windows 8.1,我在想,如果微软为平板电脑和个人电脑制作一个操作系统——Windows8。那么必须有一种方法来控制字体大小。示例i有一个带有4列的主网格: <Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}"> <Grid.ColumnDefinitions> <ColumnDefinition/> <ColumnDefinition/>

我在想,如果微软为平板电脑和个人电脑制作一个操作系统——Windows8。那么必须有一种方法来控制字体大小。示例i有一个带有4列的主网格:

<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>
2) 有没有一种方法可以让当前的视图框有效,这样我就可以用最少的资源找到并应用于其他视图

3) FontStretch=属性的作用是什么我看不出有什么不同


4) 还有其他处理字体大小的方法吗?

您的前两个结论(“在小型设备上看起来像这样:”,“在大型设备上像这样:”)是错误的。文本大小仅在您看来有所不同,因为您的模拟器是按比例缩放的。(请参见两个屏幕截图如何具有相同的宽度)

在现实世界的设备上,文本的大小将是相同的(如果以英寸为单位)


如果您想拥有相同的屏幕大小(以屏幕面积的百分比衡量),那么您可能希望将整个页面包装在一个视图框中。

您的前两个结论(“在小型设备上看起来像这样:”,“在大型设备上像这样:”)是错误的。文本大小仅在您看来有所不同,因为您的模拟器是按比例缩放的。(请参见两个屏幕截图如何具有相同的宽度)

在现实世界的设备上,文本的大小将是相同的(如果以英寸为单位)

如果希望具有相同的屏幕大小(以屏幕面积的百分比衡量),则可能需要将整个页面包装在一个视图框中

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
}