Dela via


Gör så här: Navigera genom objekten i en datainsamlingVy

Med vyer kan samma datainsamling visas på olika sätt, beroende på sortering, filtrering eller gruppering. Vyer ger också ett aktuellt postpekarkoncept och möjliggör att man kan flytta pekaren. Det här exemplet visar hur du hämtar det aktuella objektet och navigerar genom objekten i en datainsamling med hjälp av funktionerna i klassen CollectionView.

Exempel

I det här exemplet är myCollectionView ett CollectionView objekt som är en vy över en bunden samling.

I följande exempel är OnButton en händelsehanterare för knapparna Previous och Next i ett program, som är knappar som gör att användaren kan navigera i datainsamlingen. Observera att egenskaperna IsCurrentBeforeFirst och IsCurrentAfterLast rapporterar om den aktuella postpekaren har kommit till början eller slutet av listan, så att man därefter kan anropa MoveCurrentToFirst och MoveCurrentToLast på ett lämpligt sätt.

Vyens CurrentItem-egenskap omvandlas till en Order för att få den nuvarande ordervaran i kollektionen.

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

Se även