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 façons, selon les paramètres de tri, de filtrage ou de regroupement. Les vues fournissent également un concept de pointeur d'enregistrement actif et permettent le déplacement du pointeur. Cet exemple montre comment obtenir l'objet actif et naviguer parmi les objets d'une collection de données en utilisant la fonctionnalité fournie dans la classe CollectionView.

Exemple

Dans cet exemple, myCollectionView est un objet CollectionView qui est une vue sur une collection liée.

Dans l'exemple suivant, OnButton est un gestionnaire d'événements des boutons Previous et Next d'une application, qui sont les boutons qui permettent à l'utilisateur de naviguer dans la collection de données. Notez que les propriétés IsCurrentBeforeFirst et IsCurrentAfterLast indiquent si le pointeur d'enregistrement actif est arrivé respectivement au début et à la fin de la liste, afin que MoveCurrentToFirst et MoveCurrentToLast puissent être appelés de manière appropriée.

La propriété CurrentItem de la vue est castée en un Order afin de retourner l'élément d'ordre actif dans la collection.

    '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 
      }
  }

Voir aussi

Tâches

Comment : trier des données dans une vue

Comment : filtrer les données d'une vue

Comment : trier et grouper des données à l'aide d'une vue en XAML

Concepts

Vue d'ensemble de la liaison de données

Autres ressources

Rubriques "Comment" relatives aux liaisons de données