如何在代码创建 TextBlock 后,在加载时计算其高度和宽度?

9
TextBlock tbl= new TextBlock();
tbl.text="Kishore";

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

如果我在Metro中的loaded事件中执行代码,winRT将返回0。
如何在Loaded或SizeChanged事件中获取ActualWidth?

WPF 有像 "arrange/measure" 这样的方法,你提供可用空间并获得尺寸作为结果。Jupiter 中没有类似的东西吗? - Filip Skakun
3个回答

10

调用 Measure() 方法,然后调用 Arrange() 方法,接着 ActualWidthActualHeight 将会被更新。


首先调用Measure,然后是Arrange。 - HCL

1
可以通过以下方式完成此操作:

UpdateLayout();
testBlock.ActualWidth

这在计算多个对象的高度和宽度时可能会很有用。

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

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

double x = tbl.ActualHeight;

1
可能需要一点解释。 - Brian Carlton

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接