C# 滚动ListView时,如何强制它只将整个项目滚动到视图中,而不是平滑滚动?

C# 滚动ListView时,如何强制它只将整个项目滚动到视图中,而不是平滑滚动?,c#,wpf,xaml,uwp,C#,Wpf,Xaml,Uwp,当我向上或向下滚动ListView时,我希望ListView只将整个ListViewItems滚动到视图中,而不是平滑滚动。基本上,ListView永远不会在ListView中部分显示项目。如何实现此目的?请查看ScrollViewer.CanContentScroll属性,将其设置为false或true(取决于您的需要): 这个问题的答案正好相反,看看答案是否有用:您可以覆盖滚动事件并进行一些计算,以确定ListView应该滚动到哪里,然后手动将其设置到该位置并使用滚动事件。为了开始提供解决

当我向上或向下滚动ListView时,我希望ListView只将整个ListViewItems滚动到视图中,而不是平滑滚动。基本上,ListView永远不会在ListView中部分显示项目。如何实现此目的?

请查看
ScrollViewer.CanContentScroll
属性,将其设置为
false
true
(取决于您的需要):



这个问题的答案正好相反,看看答案是否有用:您可以覆盖滚动事件并进行一些计算,以确定ListView应该滚动到哪里,然后手动将其设置到该位置并使用滚动事件。为了开始提供解决方案,您需要假设所有项目都是相同的高度,容器的高度是该高度的倍数;根据项目的边距和容器的填充等进行了调整。如果这听起来是一个合理的假设,那么一个
行为
,连接到滚动事件似乎是一个可能的解决方案。我上面的人说了什么,但也要确保在WPF中设置
CanContentScroll=True
,您可以将
virtualizengpanel.ScrollUnit
附加属性设置为
<ListView ItemsSource="{Binding Items}" ScrollViewer.CanContentScroll="False"/>