2012-05-11 19 views
9
TextBlock tbl= new TextBlock(); 
tbl.text="Kishore"; 

double x=tbl.ActualHeight; 
double y=tbl.ActualWidth; 

私がMetroでロードされたイベントのコードを実行すると、winRTは両方に対して0を返します。コードからtextblockを作成すると、ロード時にテキストブロックの高さと幅を計算する方法は?

LoadedまたはSizeChangedイベントでActualWidthを取得するにはどうすればよいですか?

+0

WPFにはarrange/measureのようなメソッドがあり、結果として使用可能なスペースと次元が得られました。木星に似たようなものはありませんか? –

答えて

10

Measure()Arrange()を呼び出し、ActualWidthActualHeightを更新します。

+0

まず、Measureが呼び出され、次にArrangeが呼び出されます。 – HCL

+0

もちろん、もちろん! –

0
TextBlock tbl = new TextBlock(); 
tbl.Text = "Kishore"; 

tbl.Measure(new Size(0, 0)); 

double x = tbl.ActualHeight; 
+1

少し説明が参考になるかもしれません。 –

1

も、複数のオブジェクトの高さと幅を計算するときに便利かもしれ

UpdateLayout(); 
testBlock.ActualWidth 

経由でこれを行うことができます。

+0

これは私の問題を解決しましたありがとう – hushyon

関連する問題