如何将基于父级的点更改为另一个父级

时间:2013-04-27 07:39:18

标签: wpf xaml winrt-xaml

如何将基于Mainwindow获得的点更改为MainWindow中面板的面板。

假设一个鼠标点基于MainWindow,我需要根据同一个窗口中的另一个面板知道相同的点。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

首先,MouseEventArgs允许您指定相对于应该计算鼠标位置的元素,方法是将该元素传递给GetPosition

var relativeElement = mainWindow;
var mousePosition = e.GetPosition(relativeElement);

给定相对于一个元素的这一点,您可以始终使用TranslatePoint将其转换为相对于另一个元素的坐标:

var panelPosition = mainWindow.TranslatePoint(new Point(0, 0), panel);