2012-12-12 44 views
1

我有一個數據類和一個基於當前實例在運行時創建UI元素的成員函數。我希望能夠根據當前正在使用的文本大小調整輸出UI元素的大小。我如何找到渲染文本的高度(以像素爲單位)?獲取Win8應用程序中非呈現文本的高度?

具體來說,我想基於渲染「0」的高度的倍數(〜1.5)來創建均勻方格的網格。

我已經嘗試創建一個TextBlock並獲取ActualHeight,但是,這總是返回0 ...大概是因爲TextBlock從未實際顯示。即使在TextBlock實例上使用UpdateLayout也不會更新ActualHeight值。

還有別的辦法嗎?

注意自動調整大小對我來說不起作用,因爲當我這樣做時,我有一些空的元素縮小到0。我需要根據當前正在使用的字體的大小適當地調整所有元素的大小,不管它們是否具有文本。

回答

0

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

+0

不,System.Drawing命名空間在Windows應用商店應用中不可用。 –

相關問題