1

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

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

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

还有其他方法吗?

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

4

1 回答 1

0

我不熟悉 Windows 8 / WinRT API 集,但System.Drawing.Graphics.MeasureText应该仍然可以使用。

于 2012-12-12T07:24:43.350 回答