WinForm托管在WPF Mouse.getPosition无法正常工作

时间:2016-11-20 22:47:36

标签: c# wpf winforms mouse elementhost

我在wpf窗口中托管了一些元素(ZedGraph)。 我想得到我的鼠标光标的x和y坐标。 它适用于窗口的其余部分,但只要我将鼠标悬停在Elementhost上,数字就会被冻结。 我已经发现Elementhost没有传递事件,但我找不到解决该问题的有效方法。

非常感谢您提出有关该问题的任何提示

1 个答案:

答案 0 :(得分:0)

您可以在页面窗口中使用MouseMove事件。比如说的名字 页面窗口为mainWindow,元素的名称为myElement1。那你就可以搞定 您的元素的位置X-Y并将其用于与鼠标位置X-Y的比较,如下例所示,

private void mainWindow_MouseMove(object sender, MouseEventArgs e)
{
    System.Windows.Point thepnt = new System.Windows.Point();

    thepnt = e.GetPosition(myElement1);
    if (((thepnt.X<=100)|| (thepnt.X > myElement1.Width)) || (thepnt.Y < 100))
    {
       //do something...
    }
    else
    {
       //do something else....
    }
}

希望这些帮助。