winphone中,怎么判断一个点是在控件中
我有个继承UserControl的控件,它是个Popup,当用户点击控件之外的区域,就消失,但现在不知道怎么获取控件的区域,请高手指点。
已经知道用户点击的点了 TouchPoint touchPoint。不知道怎么判断这个点是否在控件 this 区域内。 控件区域
[解决办法]
如果你说的是点在控件上,可以注册focus事件
如果你说的是控件所在的矩形区域,你得根据鼠标点击的坐标点和控件所占的区域做求交运算
[解决办法]
这个需求感觉需要递归,简单写一下为代码吧
Point getcontrolpos(Control control)
{
if(control.parent!=null)
{
Point pointParent=getcontrolpos(control.parent);
return new Point(pointParent.x+Control.Margin.x,pointParent.y+Control.Margin.y)
}
else
{
return new Point(Control.Margin.x,Control.Margin.y)
}
}