【发布时间】:2018-01-30 06:50:56
【问题描述】:
我有画布,其中子元素动态添加到画布中,假设图像放置在左侧 = 50,当画布宽度 (500) 和高度 (200) 时位于顶部 50。当窗口最大化时,画布宽度和高度发生变化(1000、400),这一次想要根据画布宽度和高度重新排列图像位置。根据研究发现,必须实施
面板的MeasureOverride和ArrangeOverride方法。
在这里,用户可以向画布添加任意数量的项目,想要相对于画布大小缩放子项。
上述方法中的逻辑如何实现?
【问题讨论】:
-
"必须实现 MeasureOverride 和 ArrangeOverride"。这对于派生的 Panel 是正确的,但对于 Canvas 则不然。只需重新计算并设置子元素的 Left 和 Top。或者使用其他更合适的布局面板,例如 Grid 或 DockPanel。
-
我正在使用从 Canvas 派生的自定义画布。
-
投反对票,请添加评论
标签: wpf canvas scale panel arrangeoverride