WinForm Хостинг в WPF Mouse.getPosition не работает

У меня есть некоторый элемент (ZedGraph), размещенный в окне wpf. Я хочу получить координаты x и y моего курсора мыши. Это работает в остальной части окна, но как только я наведу курсор на Элементный Хост, числа замерзнут. Я уже выяснил, что Elementhost не передает события, но я не нашел рабочего решения этой проблемы.

заранее большое спасибо за любые подсказки по этой проблеме

1 ответ

Решение

Вы можете использовать событие MouseMove для окна вашей страницы. Пусть, например, имя окна страницы будет mainWindow, а именем элемента будет myElement1. Затем вы можете получить позицию XY вашего элемента и использовать ее в сравнении с позициями мыши XY, как в следующем примере:

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....
    }
}

Надеюсь, что это поможет.

Другие вопросы по тегам