如何:透過資料 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 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
}
}
'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