如何将窗口坐标转换为控制坐标

时间:2013-10-30 12:39:04

标签: c# wpf

我需要相对于我的列表框获取鼠标位置,在事件处理程序中我得到窗口相对坐标,如何将其转换为控件相对?

编辑:

private void OnMouseMove(object sender, MouseEventArgs e)
{
    Point mousePos = e.GetPosition(null);
    ...
}

所以,它看起来像我需要的鼠标位置,但实际上它现在可以改变。

1 个答案:

答案 0 :(得分:0)

只需使用Mouse.GetPosition(RealitiveUIElement)方法

即可

此处在MSDN网站上列出 http://msdn.microsoft.com/en-us/library/system.windows.input.mouse.getposition.aspx

// displayArea is a StackPanel and txtBoxMousePosition is 
// a TextBox used to display the position of the mouse pointer.
Point position = Mouse.GetPosition(displayArea);
txtBoxMousePosition.Text = "X: " + position.X +
    "\n" +
    "Y: " + position.Y;