如果我从代码创建文本块,如何计算加载时的textbock高度和宽度?
TextBlock tbl= new TextBlock(); tbl.text="Kishore"; double x=tbl.ActualHeight; double y=tbl.ActualWidth;
如果我从Metro中加载的事件执行代码 – winRT将为两者返回0。
如何在Loaded
或SizeChanged
事件中获取ActualWidth
?
调用Measure()然后调整()然后更新ActualWidth
和ActualHeight
。
也可以通过这样做
UpdateLayout(); testBlock.ActualWidth
这在计算多个对象高度和宽度时非常有用。
TextBlock tbl = new TextBlock(); tbl.Text = "Kishore"; tbl.Measure(new Size(0, 0)); double x = tbl.ActualHeight;