0

如标题所示,在 .NET 4.5 中,我们有一个字体类,可以为您提供像素高度,但在 WinRT 中呢?

是否有任何 API 可用于获取它使用的像素?

4

1 回答 1

2

由于 Windows Store Apps 的 .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;

这为您提供了文本的显示方式的高度(和宽度)。

于 2013-03-21T08:56:38.397 回答