HOW TO:透過資料 CollectionView 中的物件巡覽
根據排序、篩選或群組而定,可以透過檢視,以不同的方式檢視相同的資料集合。 檢視也提供目前記錄指標的概念,也可以移動指標。 這個範例顯示如何使用 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 Sub OnButton(ByVal sender As Object, ByVal args As RoutedEventArgs)
Dim b As Button = TryCast(sender, Button)
Select Case b.Name
Case "Previous"
myCollectionView.MoveCurrentToPrevious()
If myCollectionView.IsCurrentBeforeFirst Then
myCollectionView.MoveCurrentToLast()
End If
Case "Next"
myCollectionView.MoveCurrentToNext()
If myCollectionView.IsCurrentAfterLast Then
myCollectionView.MoveCurrentToFirst()
End If
Exit Select
o = TryCast(myCollectionView.CurrentItem, Order)
' TODO: do something with the current Order o
End Select
End Sub
//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
}
}