Text UWP排版建议似乎不起作用

Text UWP排版建议似乎不起作用,text,uwp,rendering,typography,Text,Uwp,Rendering,Typography,我正在构建一个UWP应用程序,并认为我应该遵守微软关于绘制文本的指导原则。完整的排版指南可以在这里找到 这些准则规定了文本大小和行高。线条高度应始终为4的倍数,以便在设备和屏幕大小之间实现良好的缩放行为。以下是字幕文本样式的指南:- 可以看出,文本大小为20像素,行高为24。但是如果创建文本块并使用提供的字幕文本块样式,则无法正确绘制。下面是要测试的代码:- <TextBlock Style="{ThemeResource SubtitleTextBlockStyle}"

我正在构建一个UWP应用程序,并认为我应该遵守微软关于绘制文本的指导原则。完整的排版指南可以在这里找到

这些准则规定了文本大小和行高。线条高度应始终为4的倍数,以便在设备和屏幕大小之间实现良好的缩放行为。以下是字幕文本样式的指南:-

可以看出,文本大小为20像素,行高为24。但是如果创建文本块并使用提供的字幕文本块样式,则无法正确绘制。下面是要测试的代码:-

<TextBlock Style="{ThemeResource SubtitleTextBlockStyle}"
           Text="SubtitleTextBlockStyle SubtitleTextBlockStyle SubtitleTextBlockStyle SubtitleTextBlockStyle"/>

实际上,文本空间以26和27像素交替出现:-

我尝试将文本块的边距填充设置为零,并明确将线宽设置为24。这没什么区别

如果将两个TextBlock实例放置在垂直的StackPanel中,则会再次获得不同的间距,两组文本之间的行距为28像素。在我看来,这些指导方针实际上是不可能实施的


有没有人看到过自己的风格符合指南?或者它们只是废话?

您是否尝试过将
TextLineBounds
设置为
Tight
?看起来很有希望,设置TextLineBounds=Tight并明确设置线宽似乎可以正确应用线宽。但是,我回避了为什么提供的样式是错误的问题。我认为提供的样式没有考虑字体的默认间距。你必须调整这些,以得到你所需要的。但是要小心,因为某些属性会影响渲染的性能。所以我通常只在标题和标题上这样做。您是否尝试过将
TextLineBounds
设置为
Tight
?设置TextLineBounds=Tight并明确设置线宽似乎可以正确应用线宽。但是,我回避了为什么提供的样式是错误的问题。我认为提供的样式没有考虑字体的默认间距。你必须调整这些,以得到你所需要的。但是要小心,因为某些属性会影响渲染的性能。所以我通常只在标题和标题上这样做。