Rect 对象如何能够与 Rectangle 对象相交? (在 WPF、C# 中)
How a Rect object able to intersectwidth Rectangle object? (in WPF, C#)
我的 Canvas 中有一些 Rectangle 对象,还有一个具有 Move() 方法的 Rect。我想这样做,如果我的 Rect 与 Rectangle 之一相交,则该 Rectangle 将被删除。
类似的东西(rct 是一个矩形,rctn 是一个矩形):
if (rct.InterSectsWith(rctn))
{
rctn.Invalidate();
}
我该怎么办?
我建议使用 Rect 的本机 IntersectsWith 函数,并从您的 Rectangle 对象创建一个新的 Rect。
rct.IntersectsWith(new Rect(rctn.Margin.Left, rctn.Margin.Top, rctn.Width, rctn.Height));
这里假定 rctn 是 Canvas 的直接子节点,并且它位于左上角。如果不是,您可以使用 this question 中描述的 TranslatePoint 函数来获取相对于您的 Canvas.
的 x 和 y 坐标
我的 Canvas 中有一些 Rectangle 对象,还有一个具有 Move() 方法的 Rect。我想这样做,如果我的 Rect 与 Rectangle 之一相交,则该 Rectangle 将被删除。
类似的东西(rct 是一个矩形,rctn 是一个矩形):
if (rct.InterSectsWith(rctn))
{
rctn.Invalidate();
}
我该怎么办?
我建议使用 Rect 的本机 IntersectsWith 函数,并从您的 Rectangle 对象创建一个新的 Rect。
rct.IntersectsWith(new Rect(rctn.Margin.Left, rctn.Margin.Top, rctn.Width, rctn.Height));
这里假定 rctn 是 Canvas 的直接子节点,并且它位于左上角。如果不是,您可以使用 this question 中描述的 TranslatePoint 函数来获取相对于您的 Canvas.
的 x 和 y 坐标