深入探索WPF自定义面板布局
1. 布局过程中的关键方法
在WPF的布局系统中,有两个关键的方法 MeasureOverride 和 ArrangeOverride 起着至关重要的作用,它们的签名如下:
protected override Size MeasureOverride(Size availableSize);
protected override Size ArrangeOverride(Size finalSize);
实际的控件布局是在 ArrangeOverride 方法中完成的。需要注意的是,传递给 ArrangeOverride 的大小可能和传递给 MeasureOverride 的大小不同。例如,若父控件大小为400x400,其唯一子控件的边距设置为(20,20,20,20),那么传递给子控件 MeasureOverride 方法的大小将是360x360,但子控件根据其布局逻辑可能报告不同的大小。
为避免出现问题,应确保测量过程仅确定所需大小,而排列过程执行实际布局,即不要在 MeasureOverride 和 ArrangeOverride 之间共享任何状态。当子控件的 Measure 方法执行后,其 DesiredSize 属性会被设置,面板可以根据自身布局
超级会员免费看
订阅专栏 解锁全文
3

被折叠的 条评论
为什么被折叠?



