我在this implementation of a VirtualizedWrapPanel.中修了几行 好吧,我把ListView和VirtualizedWrapPanel放在ListView的ItemsPanel上的窗口不能滚动。用户不会滚动,而是通过单击按钮启动页面更改等操作。因此,我应该以某种方式将“项目的下一部分”视为对按钮点击的响应。
这是我所描述的ListView:
<ListView x:Name="StationsListView"
ScrollViewer.VerticalScrollBarVisibility="Disabled"
BorderThickness="0"
DataContext="{StaticResource ViewModelKey}"
SelectionMode="Extended"
Grid.Row="1" ItemsSource="{Binding Stations}">
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<common:VirtualizingWrapPanel IsItemsHost="True" />
</ItemsPanelTemplate>
</ListView.ItemsPanel>
<ListView.ItemTemplate>
<DataTemplate>
<Button Style="{DynamicResource DestinationButtonStyle}">
<TextBlock Text="{Binding FullName}"
Style="{DynamicResource DestinationStationTextBlockStyle}"
TextTrimming="CharacterEllipsis" />
</Button>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
那么,如何手动滚动到下一部分项目?
答案 0 :(得分:1)
在查看链接中的代码示例后,我不相信作者对虚拟化主题的了解。代码似乎比它需要的更复杂,效率更低。
我有一本WPF书籍,可以很好地解释虚拟化的例子,你很幸运,因为有人在网上发布了它。我不确定它是否合法,所以我无法验证此链接的工作时间,但现在确实如此:在Control Development Unleashed在线查看第8章。