获取Win8应用程序中非渲染文本的高度?

时间:2012-12-12 06:29:56

标签: c# user-interface windows-8

我有一个带有成员函数的数据类,它在运行时根据当前实例创建UI元素。我希望能够根据当前正在使用的文本大小调整输出UI元素的大小。如何找到渲染文本的高度(以像素为单位)?

具体来说,我想根据渲染的“0”的高度(~1.5)创建一个均匀的正方形网格。

我尝试过创建一个TextBlock并获取ActualHeight,但是,这总是返回0 ...可能是因为TextBlock实际上从未显示过。即使在TextBlock实例上使用UpdateLayout也不会更新ActualHeight值。

还有其他办法吗?

NB自动调整大小对我不起作用,因为我有一些空元素,当我这样做时会收缩到0。我需要根据当前使用的字体大小,适当地调整所有元素的大小,无论它们是否有文本。

1 个答案:

答案 0 :(得分:0)

我不熟悉Windows 8 / WinRT API集,但System.Drawing.Graphics.MeasureText仍应有效。