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 Sie das aktuelle Objekt abrufen und mithilfe der in der CollectionView Klasse bereitgestellten Funktionen durch die Objekte in einer Datensammlung navigieren.

Beispiel

In diesem Beispiel ist myCollectionView ein CollectionView-Objekt, das eine Ansicht über eine gebundene Auflistung darstellt.

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

Die CurrentItem-Eigenschaft der View wird als Order gecastet, um das aktuelle Bestellelement in der Auflistung 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