如果有一个Canvas父级,很容易获得一个孩子的位置:
Canvas.GetLeft/Top (child)
Run Code Online (Sandbox Code Playgroud)
但是,如何才能让其他类型的父母获得孩子的位置?
Eli*_*sha 69
它可以使用TranslatePoint控制方法完成.
UIElement container = VisualTreeHelper.GetParent(control) as UIElement;
Point relativeLocation = control.TranslatePoint(new Point(0, 0), container);
Run Code Online (Sandbox Code Playgroud)
new Point(0, 0)表示控件的左上角,并TranslatePoint返回该点相对于父控件的位置(我假设父级是a UIElement).
您可以代替容器放置控件的任何祖先.