gpt4 book ai didi

wpf - 如何在 WPF 的 Canvas 上检查 2 个控件是否相互重叠?

转载 作者:行者123 更新时间:2023-12-04 01:43:31 34 4
gpt4 key购买 nike

我正在编写一个设计器,使用户能够在屏幕上拖动控件。
当我拖动一个控件时,检测一个控件是否与另一个控件重叠的最佳方法是什么?

我应该只获取 FrameworkElement 的尺寸并继续检查其他元素的尺寸吗?

谢谢。
伊莱

最佳答案

如果元素始终为矩形,则元素的尺寸 (FrameworkElement.ActualWidth FrameworkElement.ActualHeight) 和位置(Canvas.Top、Canvas.Bottom、Canvas.Left、Canvas.Right)就足够了。在这种情况下,您可以轻松计算两个矩形是否重叠。如果你的元素可以是更复杂的形状,它就会变得毛茸茸的。我不知道是否可以测试 WPF 中两个 Visual 实例的交集。

也许我们可以使用 hittesting ?使用这种方法,您至少可以测试某个 pointgeometry与特定的视觉相交。因此,您必须定义或多或少与第二个视觉对象的边界相匹配的几何图形或点列表。

关于wpf - 如何在 WPF 的 Canvas 上检查 2 个控件是否相互重叠?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1554116/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com