如何将基于 Mainwindow 获得的点更改为作为 MainWindow 内的面板的面板。
假设鼠标点是基于 MainWindow 的,我需要根据同一窗口中的另一个面板知道同一点。
任何想法?
如何将基于 Mainwindow 获得的点更改为作为 MainWindow 内的面板的面板。
假设鼠标点是基于 MainWindow 的,我需要根据同一窗口中的另一个面板知道同一点。
任何想法?
首先,MouseEventArgs 允许您指定相对于哪个元素计算鼠标位置,方法是将该元素传递给GetPosition
var relativeElement = mainWindow;
var mousePosition = e.GetPosition(relativeElement);
给定这样一个相对于一个元素的点,您始终可以使用TranslatePoint将其转换为相对于另一个元素的坐标:
var panelPosition = mainWindow.TranslatePoint(new Point(0, 0), panel);