【问题标题】:Get height of non-rendered text in a Win8 app?在 Win8 应用程序中获取非渲染文本的高度?
【发布时间】:2012-12-12 15:24:43
【问题描述】:

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

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

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

还有其他方法吗?

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

【问题讨论】:

    标签: c# user-interface windows-8


    【解决方案1】:

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

    【讨论】:

    • 不,System.Drawing 命名空间在 Windows 应用商店应用中不可用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-21
    • 2013-11-23
    • 1970-01-01
    • 2010-10-06
    • 2016-08-05
    相关资源
    最近更新 更多