WPF 实现 DataGrid/ListView 分页控件
时间: 2023-07-11 08:53:32 浏览: 175
WPF, datagrid 分页控件
WPF 中的 DataGrid 和 ListView 都没有内置的分页控件,但可以通过一些方法来实现分页功能。
一种实现方式是使用 CollectionView,它是用于对集合进行排序、过滤和分组的类。可以使用 CollectionViewSource 创建 CollectionView,并在 XAML 中绑定到分页控件中。
以下是一个示例,其中使用 CollectionViewSource 来创建 CollectionView,并将其绑定到 ListView 控件中:
```xml
<Grid>
<Grid.Resources>
<CollectionViewSource x:Key="cvs" Source="{Binding Items}" PageSize="10"/>
</Grid.Resources>
<ListView ItemsSource="{Binding Source={StaticResource cvs}}" />
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
<Button Content="Prev" Command="{Binding Source={StaticResource cvs}, Path=PageUpCommand}" />
<TextBlock Text="{Binding Source={StaticResource cvs}, Path=PageIndex}" />
<Button Content="Next" Command="{Binding Source={StaticResource cvs}, Path=PageDownCommand}" />
</StackPanel>
</Grid>
```
在上面的示例中,CollectionViewSource 用于创建 CollectionView,并使用 PageSize 属性来指定每页的项数。ListView 控件绑定到 CollectionViewSource 中的 CollectionView。
同时,使用按钮来切换分页,每个按钮都绑定到 CollectionViewSource 中的 PageUpCommand 和 PageDownCommand 命令,以便在前一页和后一页之间切换。
还有其他的实现方式,例如手动分页和使用第三方分页控件等等。具体实现方式可以根据项目需求来选择。
阅读全文