ArrangeOverride和Arrange()什么时候被Layouting系统调用?

时间:2011-04-18 11:33:10

标签: layout silverlight-4.0 measureoverride arrangeoverride

我试图了解Silverlight中的Layouting系统,但我真的不知道这个过程是如何工作的。我知道测量总是在之前被调用,然后当所有测量完成后,安排开始。但是,当这个过程开始时,我们能够控制它吗? 请不要写de MSDN库链接,我已经阅读了它,并且它根本不清楚..

我的具体情况是我有一些嵌套的LinearLayouts(从Panel继承类和Arrangeoverride以及MEasureoverride工作)但我需要rootcontainer大小(因为它们的大小是父级的相关内容),我无法得到它直到所有元素加载到树中,所以我在LayoutRoot_Loaded中调用arrange()。它是有效的,是的,但是它做了3次布局过程,这对整个系统来说效率不高...... 任何人都可以帮忙吗?或者至少解释一下程序员如何完全管理Layouting系统: - )

感谢yyoouuuuuuuu !!!

1 个答案:

答案 0 :(得分:0)

你可以尝试将你的代码放在

中吗?
    private void LayoutRoot_SizeChanged(object sender, System.Windows.SizeChangedEventArgs e)
    {
    }

而不是调用Arrange()?