Практическое руководство. Перемещение по объектам в Data CollectionView

Представления позволяют просматривать одну коллекцию данных различными способами, в зависимости от сортировки, фильтрации или группировки. Представления также предоставляют концепцию указателя на текущую запись и включают перемещение указателя. В этом примере демонстрируется получение текущего объекта и перемещение по объектам в коллекции данных с помощью функциональных возможностей, предоставленных в классе CollectionView.

Пример

В этом примере myCollectionView является объектом CollectionView, который является представлением присоединенной коллекции.

В следующем примере OnButton является обработчиком событий для кнопок Previous Next в приложении, которые представляют собой кнопки, позволяющие пользователю перемещаться по коллекции данных. Обратите внимание, что свойства IsCurrentBeforeFirst и IsCurrentAfterLast сообщают о том, установлен ли указатель текущей записи в начало и конец списка, чтобы MoveCurrentToFirst и MoveCurrentToLast могли быть вызваны соответствующим образом.

Свойство CurrentItem представления приводится в качестве Order для возврата текущего элемента коллекции.

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

См. также

Задачи

Практическое руководство. Сортировка данных в представлении

Практическое руководство. Фильтрация данных в представлении

Практическое руководство. Сортировка и группировка данных с помощью представления в XAML

Основные понятия

Общие сведения о связывании данных

Другие ресурсы

Практические руководства по привязке данных