Compartir a través de


Cómo: Navegar por los objetos de una vista colección de datos

Las vistas permiten ver la misma recopilación de datos de maneras diferentes, en función de la ordenación, el filtrado o la agrupación. Las vistas también proporcionan un concepto de puntero de registro actual y permiten mover el puntero. En este ejemplo se muestra cómo obtener el objeto actual, así como navegar por los objetos de una colección de datos mediante la funcionalidad proporcionada en la CollectionView clase .

Ejemplo

En este ejemplo, myCollectionView es un CollectionView objeto que es una vista sobre una colección enlazada.

En el ejemplo siguiente, OnButton es un controlador de eventos para los Previous botones y Next de una aplicación, que son botones que permiten al usuario navegar por la recopilación de datos. Tenga en cuenta que las IsCurrentBeforeFirst propiedades y IsCurrentAfterLast notifican si el puntero de registro actual ha llegado al principio y al final de la lista respectivamente para que MoveCurrentToFirst se pueda llamar a y MoveCurrentToLast según corresponda.

La propiedad CurrentItem de la vista se convierte a un Order para devolver el elemento de pedido actual de la colección.

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

Consulte también