Starting from Eyeshot 2020 WPF, the handler for touch gestures is the native one.
In this way, we can avoid disabling the RealTimeStylus support from the application Window by default.
On the other hand, in order to manage multitouch in an efficient way*, you can still use WM TOUCH events just by setting design1.MultiTouch.UseWindowsMessages = true in the MainWindow constructor.
Using the WM TOUCH events brings some side effects (a short video here) that you can overcome as explained here and here.
(If you're using the ImmediateMode rendering, touch gestures are always handled via WM TOUCH and no side effects occur).
According to the touch handler, you need to listen to the below different Eyeshot events:
Native | WM TOUCH |
TouchDown | MultiTouchDown |
TouchUp | MultiTouchUp |
TouchMove | MultiTouchMove |
TouchClick | MultiTouchClick |
TouchDoubleClick | MultiTouchDoubleClick |
*Here is a short video comparing both approaches.
Note for .NET6
Currently, there is a known issue still open for .NET Wpf Native touch. You can overcome it by using the workaround described here.
public App()
{
AppContext.SetSwitch("Switch.System.Windows.Input.Stylus.EnablePointerSupport", true);
}
Comments
Please sign in to leave a comment.