Cara: Menavigasi Melalui Objek dalam Data CollectionView
Tampilan memungkinkan pengumpulan data yang sama ditampilkan dengan cara yang berbeda, bergantung pada pengurutan, pemfilteran, atau pengelompokan. Tampilan juga menyediakan konsep penunjuk rekaman saat ini dan mengaktifkan pemindahan pointer. Contoh ini menunjukkan cara mendapatkan objek saat ini serta menavigasi melalui objek dalam pengumpulan data menggunakan fungsionalitas yang disediakan di CollectionView kelas .
Contoh
Dalam contoh ini, myCollectionView
adalah CollectionView objek yang merupakan tampilan atas koleksi terikat.
Dalam contoh berikut, OnButton
adalah penanganan aktivitas untuk Previous
tombol dan Next
dalam aplikasi, yang merupakan tombol yang memungkinkan pengguna menavigasi pengumpulan data. Perhatikan bahwa IsCurrentBeforeFirst properti dan IsCurrentAfterLast melaporkan apakah penunjuk rekaman saat ini telah datang ke awal dan akhir daftar masing-masing sehingga MoveCurrentToFirst dan MoveCurrentToLast dapat dipanggil dengan tepat.
Properti CurrentItem tampilan dilemparkan sebagai Order
untuk mengembalikan item pesanan saat ini dalam koleksi.
//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
Baca juga
.NET Desktop feedback