Vorgehensweise: Navigieren durch die Objekte in einer Data CollectionView
Ansichten ermöglichen es, die gleiche Datensammlung je nach Sortierung, Filterung oder Gruppierung auf unterschiedliche Weise anzuzeigen. Ansichten bieten auch ein aktuelles Datensatzzeigerkonzept und ermöglichen das Verschieben des Zeigers. In diesem Beispiel wird gezeigt, wie das aktuelle Objekt abgerufen wird und wie mithilfe der in der CollectionView-Klasse bereitgestellten Funktionalität durch die Objekte in einer Datensammlung navigiert werden kann.
Beispiel
In diesem Beispiel ist myCollectionView
ein CollectionView-Objekt, das eine Ansicht einer gebundenen Auflistung ist.
Im folgenden Beispiel ist OnButton
ein Ereignishandler für die Schaltflächen Previous
und Next
in einer Anwendung, bei denen es sich um Schaltflächen handelt, mit denen der Benutzer in der Datensammlung navigieren kann. Beachten Sie, dass die Eigenschaften IsCurrentBeforeFirst und IsCurrentAfterLast melden, ob der aktuelle Datensatzzeiger zum Anfang bzw. zum Ende der Liste gelangt ist, damit MoveCurrentToFirst und MoveCurrentToLast entsprechend aufgerufen werden können.
Die CurrentItem-Eigenschaft der Ansicht wird in einen Order
umgewandelt, um das aktuelle Bestellelement in der Sammlung zurückzugeben.
//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
Siehe auch
.NET Desktop feedback