【发布时间】:2013-04-27 17:21:54
【问题描述】:
如何将基于 Mainwindow 得到的点更改为一个面板,该面板是 MainWindow 内的一个面板。
假设鼠标点基于 MainWindow,我需要根据同一窗口中的另一个面板知道同一点。
有什么想法吗?
【问题讨论】:
标签: wpf xaml winrt-xaml
如何将基于 Mainwindow 得到的点更改为一个面板,该面板是 MainWindow 内的一个面板。
假设鼠标点基于 MainWindow,我需要根据同一窗口中的另一个面板知道同一点。
有什么想法吗?
【问题讨论】:
标签: wpf xaml winrt-xaml
首先,MouseEventArgs 允许您指定相对于哪个元素计算鼠标位置,方法是将那个元素传递给GetPosition
var relativeElement = mainWindow;
var mousePosition = e.GetPosition(relativeElement);
鉴于这样一个相对于一个元素的点,您始终可以使用TranslatePoint 将其转换为相对于另一个元素的坐标:
var panelPosition = mainWindow.TranslatePoint(new Point(0, 0), panel);
【讨论】: