如何:在数据集合视图中的对象之间导航
更新:2007 年 11 月
使用视图可以用不同的方式(包括排序、筛选或分组)查看同一数据集合。此外,视图还提供了当前记录指针概念,并可移动该指针。本示例演示如何获取当前对象,以及如何使用 CollectionView 类所提供的功能在数据集合中的对象之间导航。
示例
在本示例中,myCollectionView 为 CollectionView 对象,该对象是建立在绑定集合上的视图。
在下面的示例中,OnButton 是应用程序中 Previous 和 Next 按钮的事件处理程序,用户可以使用这两个按钮导航数据集合。请注意,IsCurrentBeforeFirst 和 IsCurrentAfterLast 属性可分别报告当前记录指针是否到达列表的开头和结尾,以便相应地调用 MoveCurrentToFirst 和 MoveCurrentToLast。
该视图的 CurrentItem 属性会强制转换为 Order,以返回该集合中的当前顺序项。
//OnButton is called whenever the Next or Previous buttons
//are clicked to change the currency
private void OnButton(Object sender, RoutedEventArgs args)
{
Button b = sender as Button;
switch (b.Name)
{
case "Previous":
myCollectionView.MoveCurrentToPrevious();
if (myCollectionView.IsCurrentBeforeFirst)
{
myCollectionView.MoveCurrentToLast();
}
break;
case "Next":
myCollectionView.MoveCurrentToNext();
if (myCollectionView.IsCurrentAfterLast)
{
myCollectionView.MoveCurrentToFirst();
}
break;
o = myCollectionView.CurrentItem as Order;
// TODO: do something with the current Order o
}
}