WPF中有获得主动触摸点的方法吗?我需要确定用户是否正在触摸屏幕,类似Mouse
类'Pressed
-property?WPF获取主动触摸点
我只需要知道屏幕上是否有任何触摸 - 不介意它触摸的UIElement。
WPF中有获得主动触摸点的方法吗?我需要确定用户是否正在触摸屏幕,类似Mouse
类'Pressed
-property?WPF获取主动触摸点
我只需要知道屏幕上是否有任何触摸 - 不介意它触摸的UIElement。
这里有两个选择,但他们可能不这样做的最正确的方法:
1)你可以订阅MainWindow.PreviewTouchDown
和MainWindow.PreviewTouchUp
和维护所有当前触摸设备的列表。这将很容易实现,但可能会让你的代码混乱。
2)订阅Touch.FrameReported
,您可以从TouchFrameEventArgs.GetTouchPoints(null);
获得一系列触点。每发生一次触发事件都会发生这种情况,所以它可能会过于频繁,但它可以让您从任何课程中处理此事件。
您可以订阅主窗口的ManipulationStarting事件(当第一根手指接触屏幕时),ManipulationInertiaStarting事件(最后一根手指离开屏幕时)和/或ManipulationDelta事件(当任何手指移动时)。
在你的事件处理程序,您可以通过ManipulationDeltaEventArgs.Manipulators
得到所有当前接触点的列表,不要忘了你的主窗口的IsManipulationEnabled设置为true。
这样你只需要记住一个操作是否正在进行中。你不必自己跟踪所有的个人接触点。