WPF在.Net 4.5.2中进行虚拟化的平滑触摸滚动

时间:2016-09-27 14:59:17

标签: wpf xaml

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>

1 个答案:

答案 0 :(得分:0)

除了设置将启用触摸输入的ScrollViewer.PanningMode=".."之外,请尝试在ScrollViewer或ListBox / ListView的内部ScrollViewer上设置ScrollViewer.CanContentScroll="False"

这应该可以解决问题,但不幸的是,这也将阻止虚拟化工作。请参阅MS Documentation for CanContentScrollProperty.

上的备注

有关详细信息,请查看

上的答案

this qustion

or this one.