Rect对象如何能够交叉宽度Rectangle对象? (在WPF中,C#)

时间:2015-11-13 12:26:35

标签: c# wpf shape rect

我的Canvas上有一些Rectangle对象,还有一个有Move()方法的Rect。我想这样做,如果我的Rect与Rectangle中的一个相交,则删除该Rectangle。

类似的东西(rct是一个Rect,rctn是一个Rectangle):

if (rct.InterSectsWith(rctn))
   {
     rctn.Invalidate();
   }

我该怎么办?

1 个答案:

答案 0 :(得分:0)

我建议使用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坐标。