Layout ArrangeOverride和Arrange()何时由布局系统调用?

Layout ArrangeOverride和Arrange()何时由布局系统调用?,layout,silverlight-4.0,measureoverride,arrangeoverride,Layout,Silverlight 4.0,Measureoverride,Arrangeoverride,我试图理解中的布局系统,但我真的不知道该过程是如何工作的。我知道度量总是在之前调用,然后当所有度量完成后,arrange开始。但这一过程究竟什么时候开始,我们能控制它吗 请不要写MSDN库链接,我已经读过了,一点也不清楚 我的具体情况是,我有一些嵌套的线性布局(从面板继承一个类和排列覆盖和度量覆盖工作),但我需要根容器大小(因为它们的大小是父对象的百分比),直到所有元素都加载到树中,我才能得到它,所以我调用LayoutRoot\u-loaded中的arrange()。它工作,是的,但它做了3次布

我试图理解中的布局系统,但我真的不知道该过程是如何工作的。我知道度量总是在之前调用,然后当所有度量完成后,
arrange
开始。但这一过程究竟什么时候开始,我们能控制它吗

请不要写MSDN库链接,我已经读过了,一点也不清楚

我的具体情况是,我有一些嵌套的
线性布局
(从
面板继承一个类
排列覆盖
度量覆盖
工作),但我需要
根容器
大小(因为它们的大小是父对象的百分比),直到所有元素都加载到树中,我才能得到它,所以我调用LayoutRoot\u-loaded中的
arrange()
。它工作,是的,但它做了3次布局过程,这不是整个系统的效率。。。
有人能帮助或至少解释一下如何让程序员完全管理布局系统吗?:-)

你能试着把你的代码放进去吗

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

不调用Arrange()?

您可以尝试将代码放入其中吗

    private void LayoutRoot_SizeChanged(object sender, System.Windows.SizeChangedEventArgs e)
    {
    }
而不是调用Arrange()