Partager via


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