我有一个带有成员函数的数据类,它在运行时根据当前实例创建UI元素。我希望能够根据当前正在使用的文本大小调整输出UI元素的大小。如何找到渲染文本的高度(以像素为单位)?
具体来说,我想根据渲染的“0”的高度(~1.5)创建一个均匀的正方形网格。
我尝试过创建一个TextBlock并获取ActualHeight,但是,这总是返回0 ...可能是因为TextBlock实际上从未显示过。即使在TextBlock实例上使用UpdateLayout也不会更新ActualHeight值。
还有其他办法吗?
NB自动调整大小对我不起作用,因为我有一些空元素,当我这样做时会收缩到0。我需要根据当前使用的字体大小,适当地调整所有元素的大小,无论它们是否有文本。
答案 0 :(得分:0)
我不熟悉Windows 8 / WinRT API集,但System.Drawing.Graphics.MeasureText
仍应有效。