Nasıl yapılır: Veri CollectionView İçindeki Nesneler Aracılığıyla Gezinme

Görünümler aynı veri koleksiyonunun sıralamaya, filtrelemeye veya gruplandırmaya bağlı olarak farklı şekillerde görüntülenmesine izin verir. Görünümler aynı zamanda geçerli bir kayıt işaretçisi kavramı sağlar ve işaretçinin taşınmasını etkinleştirir. Bu örnek, geçerli nesnenin nasıl alınacağını ve sınıfta sunulan işlevleri kullanarak bir veri koleksiyonundaki nesneler arasında gezinme şeklini gösterir CollectionView .

Örnek

Bu örnekte, myCollectionViewCollectionView bağlantılı bir koleksiyon üzerinde bir görünüm olan bir nesnedir.

Aşağıdaki örnekte, OnButton bir uygulamadaki ve düğmelerine yönelik bir olay işleyicisidir Previous ve Next Bu, kullanıcının veri koleksiyonunda gezinmelerini sağlayan düğmelerdir. IsCurrentBeforeFirstVe IsCurrentAfterLast özelliklerinin, doğru şekilde MoveCurrentToFirst çağrılabilmesi için, geçerli kayıt işaretçisinin listenin başlangıcına ve sonuna gelip gelmediğini rapor edin MoveCurrentToLast .

CurrentItemGörünümün özelliği, Order koleksiyondaki geçerli sıra öğesini döndürecek şekilde olarak dönüştürüldü.

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

Ayrıca bkz.