Nasıl yapılır: Veri CollectionView İçindeki Nesneler Aracılığıyla Gezinme
Görünümler, aynı veri koleksiyonunun sıralamaya, filtrelemeye veya gruplandırmaya bağlı olarak farklı şekillerde görüntülenmesini sağlar. Görünümler ayrıca geçerli bir kayıt işaretçisi kavramı sağlar ve işaretçinin taşınmasını sağlar. Bu örnekte, sınıfında sağlanan işlevselliği kullanarak geçerli nesneyi alma ve veri koleksiyonundaki nesneler arasında gezinme gösterilmektedir CollectionView .
Örnek
Bu örnekte, myCollectionView
ilişkili koleksiyon CollectionView üzerinde bir görünüm olan bir nesnedir.
Aşağıdaki örnekte, OnButton
bir uygulamadaki Previous
ve Next
düğmeleri için kullanıcının veri koleksiyonunda gezinmesine izin veren düğmeler olan bir olay işleyicisi verilmiştir. IsCurrentBeforeFirst ve IsCurrentAfterLast özelliklerinin geçerli kayıt işaretçisinin sırasıyla listenin başına ve sonuna gelip gelmediğini bildirdiğini MoveCurrentToFirst ve MoveCurrentToLast uygun şekilde çağrılabileceğini unutmayın.
Görünümün CurrentItem özelliği, koleksiyondaki geçerli sipariş öğesini döndürmek için bir Order
olarak yayınlanır.
//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
Ayrıca bkz.
.NET Desktop feedback