Полностью дублировать движение мыши в событие касания

Недавно я купил Acer Iconia W510. Все сенсорные события работают нормально, щелчок одним пальцем, двойной щелчок и т. д. У меня есть приложение Windows (WPF 4), которое работает на сенсорном столе (под управлением Windows 7, разработанного с помощью PixelSense 2.0). Я так понимаю, что прямой совместимости с windows 8 нет. В приложении есть несколько кнопок и карта, по которой можно перемещаться. Также есть несколько кликабельных кнопок. Все эти функции работают с мышью (левый щелчок), но не с сенсорным событием. Есть ли способ / взломать копирование движения мыши в событие касания? Таким образом, я могу использовать прикосновение для панорамирования.

Спасибо!

Том


person Tom F    schedule 14.03.2013    source источник


Ответы (1)


Самый простой способ — перекомпилировать приложение и поместить все в окно System.Windows вместо SurfaceWindow.

Немного более сложным решением было бы поместить все в UserControl и добавить окно System.Windows рядом с SurfaceWindow. Затем в App.xaml.cs добавьте что-то вроде этого в событие OnStartUp:

if (Microsoft.Surface.SurfaceEnvironment.IsSurfaceEnvironmentAvailable)
                StartupUri = new Uri("SurfaceWindow.xaml", UriKind.RelativeOrAbsolute);
            else
                StartupUri = new Uri("PlainWindow.xaml", UriKind.RelativeOrAbsolute);

Я нашел это где-то в сети и, к сожалению, не могу вспомнить источник, но для меня это работает как шарм.

person Remco    schedule 23.03.2013