好吧,就在我认为布局系统出现的时候,我碰到了一堵砖墙......
所以我有一个带有自定义ItemsControl的WPF窗口,其Items面板是一个自定义Panel,每个ItemContainer都是一个自定义元素.
当窗口调用InvalidateArrange()时,ArrangeOverride()调用的顺序似乎没问题,即
Window -> List -> ItemsPanel -> ItemContainer -> ItemContainer -> etc...
Run Code Online (Sandbox Code Playgroud)
问题是,我有一些代码,我希望在一个依赖于已经排列和调整大小的所有ItemContainers的ArrangeOverride之后在Window级别调用.窗口级别ArrangeOverride()在树(列表)中的下一个项目调用了ArrangeOverride之前结束.
有没有办法测量所有的窗口子项,然后返回到Windows ArrangeOverride()继续一些代码,或者是否有事件要挂钩或什么?
干杯