今天先说说:SuspendMousePromotionUntilTouchUp
SuspendMousePromotionUntilTouchUp(),禁止该时间被提升为鼠标事件,得解释一下,这个方法来自桌面的Silverlight,很多桌面程序只有鼠标按键,现在有触摸屏了,点一下触摸屏,一小下,就不好区分,这个事件是鼠标点的还是触控事件呢?这个函数就是在处理触控的时候防止同时触发鼠标的点击事件。因此,这个函数只能在,只有在处理第一个触摸事件,并且是在处理按下事件的时候才能调用。否则~~哼哼,会抛出异常。下面是个调用的例子。
Touch.FrameReported += OnTouchFrameReported;
MouseEnter="onMouseEnter"
MouseLeftButtonDown="onDown"
MouseLeftButtonUp="onUp"
ManipulationStarted="onStart"
ManipulationCompleted="onCompleted"
1. 设置SuspendMousePromotionUntilTouchUp,点击事件调用顺序:
onMouseEnter
ManipulationStarted
MouseLeftButtonDown
OnTouchFrameReported
ManipulationCompleted
OnTouchFrameReported
第二次点击:
ManipulationStarted
OnTouchFrameReported
ManipulationCompleted
OnTouchFrameReported
再次点击,循环处理。
2. 不设置,点击事件:
onMouseEnter
ManipulationStarted
MouseLeftButtonDown
OnTouchFrameReported
ManipulationCompleted
MouseLeftButtonUp
OnTouchFrameReported
再次点击,循环处理。
可见:及时设置SuspendMousePromotionUntilTouchUp,由于touch-event是在mouse-event之后处理,故,会有某些mouse-event。但之后就没有了mouse-event。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。