正如标题所述,在.NET 4.5中,我们有一个字体类可以给你像素中的高度,但在WinRT中怎么样?
我可以使用任何API来获取它使用的像素吗?
答案 0 :(得分:2)
由于.NET Store for Windows应用商店中甚至没有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;
它为您提供文本的高度(和宽度),以及它的显示方式。