Ada*_*ice 18
这样做有点不直观,但可以做到.这是一个两步的过程.首先,您要使用的TransformToVisual
功能(来自MSDN):
返回一个转换对象,可用于将坐标从UIElement转换为指定对象.
TransformToVisual
将产生一个GeneralTransform
将执行从任何UIElement到任何其他UIElement的转换(假设它们都存在于同一个可视树中).这听起来像你想要的是从...的转变RootVisual
.
var transform = Application.RootVisual.TransformToVisual(myUiElement);
Run Code Online (Sandbox Code Playgroud)
在transform
现在的对象是可以使用在相同的方式改变任何事情的一般转化myUiElement
相对于转化RootVisual
下一步是使用该变换转换点.
var myUiElementPosition = transform.Transform(new Point(0,0));
Run Code Online (Sandbox Code Playgroud)
在myUiElementPosition
现在是一个Point
已转换并应在的位置UIElement
,你要寻找的. new Point(0,0)
是因为我假设你想要相对于左上角给出的位置RootVisual
.
归档时间: |
|
查看次数: |
8988 次 |
最近记录: |