Ответ 1
Не работает ли это?
Point p = Mouse.GetPosition(canvas);
Положение указателя мыши рассчитанный относительно указанного элемент с верхним левым углом элемент является точкой отсчета,
У меня есть проект в WPF 4 и vb.net 2010.
У меня есть холст внутри окна. Окно полноэкранное, но холст установлен в сплошное 640x480 в центре окна. Мне нужно получить положение мыши внутри холста, но НЕ внутри окна. Как это сделать?
Не работает ли это?
Point p = Mouse.GetPosition(canvas);
Положение указателя мыши рассчитанный относительно указанного элемент с верхним левым углом элемент является точкой отсчета,
Привет, важно, чтобы
НЕ в окне
холст также является частью окна. один пример:
... поэтому, если вы запустите приложение, вы увидите Nothing теперь скажите мне, как получить указатель мыши на экране в пикселях
! Внимание!
если вы juse Mouse.GetPosition(this);
, он будет возвращать x0 y0 каждый раз
поэтому я решил проблему, используя System.Windows.Forms.Control.MousePosition
немного комбинацию wpf и Windows.Forms, но я отказался от xD.
Извините за крик:/
Чтобы облегчить мне, я сделал расширение:
<DebuggerHidden> _
<System.Runtime.CompilerServices.Extension> _
Public Function toWfpPoint(p As System.Drawing.Point) As Point
Return new Point(p.X, p.Y)
End Function
Теперь я просто могу это рассказать так:
Dim MousPos As Point = System.Windows.Forms.Control.MousePosition.toWfpPoint