Gewusst wie: Navigieren durch die Objekte in einer Datenauflistungsansicht
Ansichten ermöglichen es, die gleiche Datensammlung je nach Sortierung, Filterung oder Gruppierung auf unterschiedliche Weise anzuzeigen. Ansichten bieten außerdem das Konzept eines aktuellen Datensatzzeigers und ermöglichen das Verschieben des Zeigers. In diesem Beispiel wird gezeigt, wie Sie das aktuelle Objekt abrufen und durch die Objekte in einer Datensammlung navigieren, indem Sie die in der CollectionView-Klasse bereitgestellten Funktionen verwenden.
Beispiel
In diesem Beispiel ist myCollectionView
ein CollectionView-Objekt, das eine Ansicht einer gebundenen Auflistung darstellt.
Im folgenden Beispiel ist OnButton
ein Ereignishandler für die Schaltflächen Previous
und Next
in einer Anwendung, die dem Benutzer die Navigation in der Datensammlung ermöglichen. Beachten Sie, dass die Eigenschaften IsCurrentBeforeFirst und IsCurrentAfterLast melden, ob der aktuelle Datensatzzeiger zum Anfang bzw. Ende der Liste gelangt ist, damit entsprechend MoveCurrentToFirst und MoveCurrentToLast aufgerufen werden können.
Die CurrentItem-Eigenschaft der Ansicht erfährt eine Typumwandlung in ein Order
-Element, um das aktuelle Bestellelement in der Auflistung 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
Weitere Informationen
.NET Desktop feedback