检查画布中所有矩形的交叉点

时间:2014-04-20 12:58:07

标签: wpf rectangles intersect

我在Canvas中有几个矩形。我需要在拖动任何矩形后检查交叉此矩形和其他矩形。如果矩形相交,则填充矩形为红色。我尝试在此代码中执行此操作,但它不起作用... 代码如下:

            foreach (Path ph1 in parent.Children.OfType<Path>())
            {
                rg1 = (RectangleGeometry)ph1.Data;

                foreach (Path ph2 in parent.Children.OfType<Path>())
                {
                    rg2 = (RectangleGeometry)ph2.Data;
                    if (ph1 == ph2)
                        continue;

                    if (rg1.Rect.IntersectsWith(rg2.Rect))
                    {
                        ph1.Fill = Brushes.Red;
                    }
                    else
                        ph1.Fill = Brushes.Aqua;

                }
            }

吸毒矩形填充红色,如果它与其他矩形相交,但其他保持水色...

0 个答案:

没有答案