4.5.2是否可以通过平滑的,基于像素的滚动,虚拟化和触摸滚动来实现列表(来自ItemsControl或使用ListView / ListBox)以允许在触摸屏上滚动手指/滑动?
我可以通过虚拟化实现平滑滚动,但是如果我失去了其中的任何一个,那么偏好将是虚拟化,因此对于非虚拟化列表进行平滑的触摸滚动会很棒。
到目前为止代码:
IsSynchronizedWithCurrentItem = “真”
ScrollViewer.PanningMode = “VerticalOnly”
VirtualizingStackPanel.IsVirtualizing = “真”
VirtualizingStackPanel.ScrollUnit = “像素” >
<ListBox.ItemTemplate>
<DataTemplate>
<!-- the item in the list -->
</DataTemplate>
</ListBox.ItemTemplate>
答案 0 :(得分:0)
除了设置将启用触摸输入的ScrollViewer.PanningMode=".."
之外,请尝试在ScrollViewer或ListBox / ListView的内部ScrollViewer上设置ScrollViewer.CanContentScroll="False"
。
这应该可以解决问题,但不幸的是,这也将阻止虚拟化工作。请参阅MS Documentation for CanContentScrollProperty.
上的备注有关详细信息,请查看
上的答案