Я хотел бы знать, пожалуйста, как предотвратить WPF, продвигающий события мыши, когда источником события является прикосновение?
Я читал статью JoshB здесь но мышьсобытия продолжают вызываться, хотя я сделал e.Handled = true;
Вот что говорит ДжошБ:
Поток событий касания без манипуляций.События касания не обрабатываются, поэтому WPF продвигает это событие на эквивалент мыши
Итак, я попытался в своем коде пометить событие как обработанное, но WPF по-прежнему поддерживает события мыши, как только я коснусь _touchSurface
который InkSurface
Вот мой код: (я не использую Microsoft Surface SDK)
_touchSurface.IsManipulationEnabled = true;
_touchSurface.TouchDown += new EventHandler<TouchEventArgs>(touchDown);
_touchSurface.TouchMove += new EventHandler<TouchEventArgs>(touchMove);
_touchSurface.TouchEnter += new EventHandler<TouchEventArgs>(touchEnter);
_touchSurface.TouchLeave += new EventHandler<TouchEventArgs>(touchLeave);
_touchSurface.ManipulationDelta += new EventHandler<ManipulationDeltaEventArgs>(ManipulationDelta);
_touchSurface.ManipulationStarting += new EventHandler<ManipulationStartingEventArgs>(ManipulationStarting);
_touchSurface.ManipulationCompleted += new EventHandler<ManipulationCompletedEventArgs>(ManipulationCompleted);
void touchDown(object sender, TouchEventArgs e)
{
e.Handled = true;
}
void touchMove(object sender, TouchEventArgs e)
{
e.Handled = true;
}
void touchLeave(object sender, TouchEventArgs e)
{
e.Handled = true;
}
void ManipulationDelta(object sender, ManipulationDeltaEventArgs e)
{
e.Handled = true;
}
void ManipulationStarting(object sender, ManipulationStartingEventArgs e)
{
e.Handled = true;
}
void ManipulationCompleted(object sender, ManipulationCompletedEventArgs e)
{
e.Handled = true;
}