如果a拥有Canvas父级,则很容易获得孩子的位置:
Canvas.GetLeft/Top (child)
但我怎样才能让其他类型的父母获得孩子的位置?
答案 0 :(得分:66)
可以使用控件的TranslatePoint
方法完成。
UIElement container = VisualTreeHelper.GetParent(control) as UIElement;
Point relativeLocation = control.TranslatePoint(new Point(0, 0), container);
new Point(0, 0)
表示控件的左上角,TranslatePoint
将返回该点相对于父控件的位置(我假设父级是UIElement
)。<登记/>
您可以代替容器放置控件的任何祖先。