方法: データ CollectionView のオブジェクト間を移動するHow to: Navigate Through the Objects in a Data CollectionView

ビューでは、並べ替え、フィルター処理、またはグループ化に応じて、さまざまな方法で表示する同じデータ収集を許可します。Views allow the same data collection to be viewed in different ways, depending on sorting, filtering, or grouping. ビューは、現在のレコード ポインターの概念を提供し、ポインターの移動を有効にします。Views also provide a current record pointer concept and enable moving the pointer. この例で提供される機能を使用してデータ コレクションのオブジェクト間を移動するほか、現在のオブジェクトを取得する方法を示しています、CollectionViewクラス。This example shows how to get the current object as well as navigate through the objects in a data collection using the functionality provided in the CollectionView class.

Example

この例でmyCollectionViewは、CollectionViewビューでバインドされたコレクションであるオブジェクト。In this example, myCollectionView is a CollectionView object that is a view over a bound collection.

次の例では、OnButtonのイベント ハンドラー、PreviousNextにより、ユーザー データのコレクションを移動するボタンであるアプリケーションでは、ボタン。In the following example, OnButton is an event handler for the Previous and Next buttons in an application, which are buttons that allow the user to navigate the data collection. なお、IsCurrentBeforeFirstIsCurrentAfterLastプロパティを報告するかどうか、現在のレコード ポインターに来た、先頭と末尾のリストのそれぞれためをMoveCurrentToFirstMoveCurrentToLastとして適切に呼び出すことができます。Note that the IsCurrentBeforeFirst and IsCurrentAfterLast properties report whether the current record pointer has come to the beginning and the end of the list respectively so that MoveCurrentToFirst and MoveCurrentToLast can be called as appropriately.

CurrentItemとしてキャストは、ビューのプロパティ、Orderコレクション内の現在の注文アイテムを返します。The CurrentItem property of the view is cast as an Order to return the current order item in the collection.

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

関連項目See also