方法 : データ 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 でビューを使用してデータの並べ替えおよびグループ化を行う