【问题标题】:How to change a point got based on a parent to another parent如何将基于父级的点更改为另一个父级
【发布时间】:2013-04-27 17:21:54
【问题描述】:

如何将基于 Mainwindow 得到的点更改为一个面板,该面板是 MainWindow 内的一个面板。

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

有什么想法吗?

【问题讨论】:

    标签: wpf xaml winrt-xaml


    【解决方案1】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-12-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多