我想利用ApplicationGesture.ScratchOut手势删除InkCanvas中添加的button。请问哪位大虾做过这方面的工作,请赐教!

解决方案 »

  1.   

    问题补充:利用ApplicationGesture.ScratchOut手势删除InkCanvas中的笔迹很容易实现,我想也能够实现这样删除InkCanvas.Children中的对象,如button。
      

  2.   

    自己解决:
    using System.Windows;//判断一个两个矩形是否有交集
            public bool isHitRects(Rect rect1, Rect rect2)
            {
                if (rect1.BottomRight.Y < rect2.TopLeft.Y || rect1.TopLeft.Y > rect2.BottomLeft.Y || rect1.TopRight.X < rect2.TopLeft.X || rect1.TopLeft.X > rect2.TopRight.X)           {
                    return false;           }
                return true;
            }
      

  3.   

    正如你上面写到的方法可以求出两个矩形是否有交集。你可以利用这个函数求出手势所在矩形和button所在矩形是否有交集,有交集的话则删除,否则不删除。