2013-04-17 69 views
6

我在ScrollViewer中有多个视频,当我点击其中的一个视频时,它播放和我有全屏的电影,我用滚动条移动的位置它随视频移动。这没关系。我通过添加鼠标点击媒体元素来实现这一点,现在我正在触摸屏上测试它,它正在工作。WPF - 触摸手势 - 滚动时禁止鼠标点击

但我想区分点击视频和移动在该地区。该用户不想“选择”视频,但他只是在区域内移动,而不是在滚动条中移动,而是在视频区域移动。为了更好的理解,我添加了图像:Example

要让WPF区别点击和移动(同时拥有但仍然只调用一个)。做这个的最好方式是什么?谢谢

+0

关闭我的头顶,做了以下工作?检测TouchDown事件,例如设置'_touchDown = true',在Click事件中,如果'_touchDown'为true,则不要执行视频选择,在您的TouchUp事件集合中_touchDown = false'。 –

回答

2

自己处理触摸事件非常困难,尤其是当您必须处理嵌套控件时。

我认为解决这个最简单的方法,就是让你使用Microsoft Surface Touch Pack

与SurfaceScrollView替换您滚动型,并把上面的MediaElements透明SurfaceButton并在点击事件作出反应(或通过处理它一个命令)。

这样,微软为您做了棘手的平移(滚动)或点击(点击)。作为一个不错的副作用,您可以免费获得ScrollViewer的弹跳和互动。