我在ScrollViewer中有多个视频,当我点击其中一个视频时播放,我在全屏播放电影,我用滚动条移动了它随着视频移动。这没关系。我已经通过添加鼠标点击媒体元素来实现这一点,现在我在触摸屏上测试它并且它正在工作。
但我想区分点击视频和移动该区域。该用户不想“选择”视频,但他只是移动区域而不是滚动条但是在视频区域。为了更好地理解,我添加了图片:
让WPF在点击和移动之间产生差异(两者都有,但仍然只调用一个)。做这个的最好方式是什么?感谢
答案 0 :(得分:2)
自己处理触摸事件非常困难,尤其是当您必须处理嵌套控件时。
我认为最简单的解决方法是使用Microsoft Surface Touch Pack
用SurfaceScrollView替换ScrollView,并在MediaElements上方放置一个透明的SurfaceButton,并对Click-event做出反应(或通过a命令处理它)。
通过这种方式,Microsoft可以为您进行棘手的平移(滚动)或点击(点击)。而且作为一个很好的副作用,你可以免费获得ScrollViewer的弹跳和内部等功能。