Procedure: Navigeren door de objecten in een Data CollectionView
Met weergaven kan dezelfde gegevensverzameling op verschillende manieren worden bekeken, afhankelijk van sorteren, filteren of groeperen. Weergaven bieden ook een huidig concept voor recordpointer en schakelen het verplaatsen van de aanwijzer in. In dit voorbeeld ziet u hoe u het huidige object ophaalt en door de objecten in een gegevensverzameling navigeert met behulp van de functionaliteit in de CollectionView klasse.
Voorbeeld
In dit voorbeeld is myCollectionView
een CollectionView-object dat een weergave is van een afhankelijke verzameling.
In het volgende voorbeeld is OnButton
een gebeurtenis-handler voor de knoppen Previous
en Next
in een toepassing. Dit zijn knoppen waarmee de gebruiker door de gegevensverzameling kan navigeren. Houd er rekening mee dat de eigenschappen IsCurrentBeforeFirst en IsCurrentAfterLast aangeven of de huidige recordaanwijzer respectievelijk aan het begin of het einde van de lijst is gekomen, zodat MoveCurrentToFirst en MoveCurrentToLast op gepaste wijze kunnen worden aangeroepen.
De eigenschap CurrentItem van de weergave wordt omgezet naar een Order
om het huidige orderitem in de verzameling terug te geven.
//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
Zie ook
.NET Desktop feedback