wpf collectionview 分页
时间: 2023-08-25 17:05:56 浏览: 82
WPF中的CollectionView可以帮助我们对数据进行排序、过滤、分组和分页等操作。其中,分页是一项非常常见的需求,我们可以通过CollectionView的Paging功能来实现。
下面是一个简单的分页示例:
1. 在XAML中定义一个ListView,其中ItemsSource绑定到CollectionView的View属性:
```xml
<ListView x:Name="lvData" ItemsSource="{Binding View}" />
```
2. 在ViewModel中创建一个CollectionView,并设置PageSize属性:
```csharp
private readonly ObservableCollection<string> _data;
public readonly ICollectionView View;
public MyViewModel()
{
_data = new ObservableCollection<string>(GetData());
View = CollectionViewSource.GetDefaultView(_data);
View.PageSize = 10;
}
private IEnumerable<string> GetData()
{
// 从数据源获取数据
}
```
3. 在界面中添加分页按钮,并在点击事件中调用CollectionView的MoveToPage方法:
```xml
<Button Content="上一页" Click="PrevPage_Click" />
<Button Content="下一页" Click="NextPage_Click" />
```
```csharp
private void PrevPage_Click(object sender, RoutedEventArgs e)
{
if (View.CurrentPosition > 0)
{
View.MoveToPage(View.CurrentPage - 1);
}
}
private void NextPage_Click(object sender, RoutedEventArgs e)
{
if (View.CurrentPosition < View.Count - 1)
{
View.MoveToPage(View.CurrentPage + 1);
}
}
```
这样就可以实现简单的分页功能了。当然,还可以自定义分页样式、添加分页信息等。
阅读全文