Gör så här: Navigera genom objekten i en datainsamlingVy
Med vyer kan samma datainsamling visas på olika sätt, beroende på sortering, filtrering eller gruppering. Vyer ger också ett aktuellt postpekarkoncept och möjliggör att man kan flytta pekaren. Det här exemplet visar hur du hämtar det aktuella objektet och navigerar genom objekten i en datainsamling med hjälp av funktionerna i klassen CollectionView.
Exempel
I det här exemplet är myCollectionView
ett CollectionView objekt som är en vy över en bunden samling.
I följande exempel är OnButton
en händelsehanterare för knapparna Previous
och Next
i ett program, som är knappar som gör att användaren kan navigera i datainsamlingen. Observera att egenskaperna IsCurrentBeforeFirst och IsCurrentAfterLast rapporterar om den aktuella postpekaren har kommit till början eller slutet av listan, så att man därefter kan anropa MoveCurrentToFirst och MoveCurrentToLast på ett lämpligt sätt.
Vyens CurrentItem-egenskap omvandlas till en Order
för att få den nuvarande ordervaran i kollektionen.
//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
Se även
.NET Desktop feedback