Freigeben über


Vorgehensweise: Navigieren durch die Objekte in einer Data CollectionView

Ansichten ermöglichen es, die gleiche Datensammlung je nach Sortierung, Filterung oder Gruppierung auf unterschiedliche Weise anzuzeigen. Ansichten bieten auch ein aktuelles Datensatzzeigerkonzept und ermöglichen das Verschieben des Zeigers. In diesem Beispiel wird gezeigt, wie das aktuelle Objekt abgerufen wird und wie mithilfe der in der CollectionView-Klasse bereitgestellten Funktionalität durch die Objekte in einer Datensammlung navigiert werden kann.

Beispiel

In diesem Beispiel ist myCollectionView ein CollectionView-Objekt, das eine Ansicht einer gebundenen Auflistung ist.

Im folgenden Beispiel ist OnButton ein Ereignishandler für die Schaltflächen Previous und Next in einer Anwendung, bei denen es sich um Schaltflächen handelt, mit denen der Benutzer in der Datensammlung navigieren kann. Beachten Sie, dass die Eigenschaften IsCurrentBeforeFirst und IsCurrentAfterLast melden, ob der aktuelle Datensatzzeiger zum Anfang bzw. zum Ende der Liste gelangt ist, damit MoveCurrentToFirst und MoveCurrentToLast entsprechend aufgerufen werden können.

Die CurrentItem-Eigenschaft der Ansicht wird in einen Order umgewandelt, um das aktuelle Bestellelement in der Sammlung zurückzugeben.

//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

Siehe auch