我正在尝试使用以下代码行通过 TransformToVisual 方法获取用户控件的位置:
this.TransformToVisual(ParentElement).Transform(new Point());
如果控件是在 XAML 中定义的,那么坐标就可以了。但现在我想像这样动态定义控件:
stackPanel.Children.Add(new Control());
坐标被移动,TransformToVisual 方法忽略边距和对齐(返回堆栈面板的左上角)。
XAML 层次结构如下:
<Grid x:Name="ParentElement">
<StackPanel>
<StackPanel>
<Border>
<StackPanel>
<TextBlock />
<StackPanel x:Name="stackPanel" />
</StackPanel>
</Border>
</StackPanel>
</StackPanel>
</Grid>
所以我的问题是:有没有办法再次正确获取坐标?
谢谢,奎蒂