如何在WinRT应用中获得字体的大小(以像素为单位)

本文关键字:像素 为单位 字体 WinRT 应用 | 更新日期: 2023-09-27 18:05:03

作为标题,在。net 4.5中,我们有一个font类,它可以给你以像素为单位的高度,但是在WinRT中呢?

是否有任何API,我可以使用它来获得它使用的像素?

如何在WinRT应用中获得字体的大小(以像素为单位)

由于在Windows Store应用程序的。net API中甚至不存在FormattedText类,我的解决办法是使用TextBlock:

TextBlock dummyTextBlock = new TextBlock();
dummyTextBlock.FontFamily = new FontFamily("Tahoma");
dummyTextBlock.FontSize = 18;
dummyTextBlock.FontStyle = FontStyle.Normal;
dummyTextBlock.FontWeight = FontWeights.Bold;
dummyTextBlock.Text = "X";
dummyTextBlock.Measure(new Size(0,0));
dummyTextBlock.Arrange(new Rect(0,0,0,0));
double width = dummyTextBlock.ActualWidth;
double height = dummyTextBlock.ActualHeight;

显示文本的高度(和宽度)