我的窗口中有一个ScrollViewer
对象,我想要启用触控功能。我已将PanningMode
设置为HorizontalOnly
并且效果很好,但我需要提出两件事:
1)当ScrollViewer
到达其内容的末尾时,整个窗口在触摸并滑动对象时移动。
2)我需要在滚动结束时触发事件,以便我可以更新一些UI内容。那是什么事?
感谢您的帮助。
答案 0 :(得分:3)
1)反弹是Windows 7 Touch的默认行为,表示它已到达可滚动列表的末尾。
2)您可以在ScrollChanged事件上附加侦听器。 http://msdn.microsoft.com/en-us/library/system.windows.controls.scrollviewer.scrollchanged.aspx
要检查“滚动到底部”,请比较VerticalOffset
(当前Y位置)== ScrollableHeight
(绝对最大值)
答案 1 :(得分:0)
在ListView中配置这样的ScrollViewer解决了我滑出边界后移动窗口的问题(问题#1)(如果有人发现这个有用的话):
<ListView x:Name="myScrollView" ScrollViewer.PanningMode="None"
ScrollViewer.VerticalScrollBarVisibility="Auto"
ScrollViewer.HorizontalScrollBarVisibility="Hidden"
ScrollViewer.CanContentScroll="True" ... >