设置位置
相对定位(网格,流式,面板等),改变控件在布局中的位置可以用Margin
1 | double left=myButton.Margin.Left; |
绝对定位(Canvas)容器中可以用SetLeft()
,SetTop()
来绝对定位
1 | Canvas.SetLeft(aBtn, aLocationX); //设置按钮在容器中的位置 |
获取位置
获取鼠标在控件中的坐标
常用于Canvas绘图使用。
1 | //在Mouse相关的事件中的方式 |
获取控件相对于另一控件的坐标
1 | //将相对于此元素的某个点转换至相对于指定元素的坐标中 |
TranslatePoint方法里面,第一个参数传入的点是相对于当前元素的左上角为原点的坐标,而第二个值就是将要转换坐标的元素。
计算方法就是将传入的点换算为传入的转换坐标的元素的左上角原点的坐标。
简单示例
1 | Point point = btn.TranslatePoint(new Point(), outerCanvas); |
如下图所示
我们获取到的btn
相对于outerCanvas
的偏移位置为(100,50)
。
获取控件在Window中的坐标
1 | Window window = Window.GetWindow(mBtn); |