我正在尝试理解Silverlight中的布局系统,但我真的不知道这个过程是如何工作的。我知道这个度量总是在之前被调用,然后当所有的度量都完成之后,arrange就开始了。但是这个过程到底什么时候开始,我们能控制它吗?
请不要写MSDN库链接,我已经看过了,一点也不清楚。
我的特定情况是,我有一些嵌套的LinearLayouts (从Panel、Arrangeoverride和MEasureoverride中继承一个类),但我需要rootcontainer大小(因为它们的大小是父元素的百分比),并且只有在所有元素都加载到树中后才能获得它,所以我在LayoutRoot_Loaded中调用arrange()。是的,它可以工作,但它会进行3次布局过程,这对整个系统来说效率不高……有人可以帮助或至少解释一下如何完全由程序员来管理布局系统吗?:-)
发布于 2011-04-18 20:10:28
你能试着把你的代码放在
private void LayoutRoot_SizeChanged(object sender, System.Windows.SizeChangedEventArgs e)
{
}而不是调用Arrange()?
https://stackoverflow.com/questions/5702203
复制相似问题