我试图了解Silverlight中的Layouting系统,但我真的不知道这个过程是如何工作的。我知道测量总是在之前被调用,然后当所有测量完成后,安排开始。但是,当这个过程开始时,我们能够控制它吗? 请不要写de MSDN库链接,我已经阅读了它,并且它根本不清楚..
我的具体情况是我有一些嵌套的LinearLayouts(从Panel继承类和Arrangeoverride以及MEasureoverride工作)但我需要rootcontainer大小(因为它们的大小是父级的相关内容),我无法得到它直到所有元素加载到树中,所以我在LayoutRoot_Loaded中调用arrange()。它是有效的,是的,但是它做了3次布局过程,这对整个系统来说效率不高...... 任何人都可以帮忙吗?或者至少解释一下程序员如何完全管理Layouting系统: - )
感谢yyoouuuuuuuu !!!
答案 0 :(得分:0)
你可以尝试将你的代码放在
中吗? private void LayoutRoot_SizeChanged(object sender, System.Windows.SizeChangedEventArgs e)
{
}
而不是调用Arrange()?