Comment : naviguer dans les objets d'un CollectionView de données
Les vues permettent d’afficher la même collection de données de différentes manières, en fonction du tri, du filtrage ou du regroupement. Les vues fournissent également un concept de pointeur d’enregistrement actuel et permettent de déplacer le pointeur. Cet exemple montre comment obtenir l’objet actuel, ainsi que parcourir les objets d’une collection de données à l’aide des fonctionnalités fournies dans la CollectionView classe.
Exemple
Dans cet exemple, myCollectionView
est un CollectionView objet qui est une vue sur une collection liée.
Dans l’exemple suivant, OnButton
il s’agit d’un gestionnaire d’événements pour les Previous
boutons et Next
les boutons d’une application, qui sont des boutons qui permettent à l’utilisateur de naviguer dans la collection de données. Notez que les propriétés et IsCurrentAfterLast les IsCurrentBeforeFirst propriétés indiquent si le pointeur d’enregistrement actuel est arrivé au début et à la fin de la liste respectivement afin qu’ils MoveCurrentToFirstMoveCurrentToLast puissent être appelés de manière appropriée.
La CurrentItem propriété de la vue est castée en tant qu’élément Order
de commande actuel dans la collection.
//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
Voir aussi
.NET Desktop feedback