wpf中的控件想要获取位置相关的信息:比如屏幕坐标,判断一个点是否在控件区域内等,都和winform的不一样,所以记录下方式。
1、获取控件的屏幕坐标,我用的方法:
Point lt = po.PlaneDetail.TranslatePoint(new Point(0, 0), this);
其中的this表示它所在的父元素。
2、判断某一个点是否在控件内:
Point lt = po.PlaneDetail.TranslatePoint(new Point(0, 0), this);
Rect port = new Rect(lt.X,lt.Y, po.PlaneDetail.ActualWidth, po.PlaneDetail.ActualHeight);
if(port.Contains(pt))
{
return true;
}
注意坐标要一致,pt也要是转换的屏幕坐标。