Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Widoki umożliwiają wyświetlanie tych samych kolekcji danych na różne sposoby, w zależności od sortowania, filtrowania lub grupowania. Widoki zapewniają również koncepcję aktualnego wskaźnika rekordu i umożliwiają przenoszenie tego wskaźnika. W tym przykładzie pokazano, jak uzyskać bieżący obiekt, a także nawigować po obiektach w kolekcji danych przy użyciu funkcji dostępnych w klasie CollectionView.
Przykład
W tym przykładzie myCollectionView
jest obiektem CollectionView, który stanowi widok na powiązaną kolekcję.
W poniższym przykładzie OnButton
jest procedurą obsługi zdarzeń dla przycisków Previous
i Next
w aplikacji, które umożliwiają użytkownikowi nawigowanie po kolekcji danych. Należy pamiętać, że właściwości IsCurrentBeforeFirst i IsCurrentAfterLast informują odpowiednio, czy bieżący wskaźnik rekordu osiągnął początek lub koniec listy, tak aby MoveCurrentToFirst i MoveCurrentToLast można było wywołać w odpowiednim momencie.
Właściwość CurrentItem widoku jest rzutowana jako Order
, aby zwrócić aktualny element zamówienia w kolekcji.
//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
Zobacz też
- omówienie powiązania danych
- Sortuj dane w widoku
- filtruj dane w widoku
- Sortowanie i grupowanie danych przy użyciu widoku w XAML
- Tematy typu 'jak to zrobić'
.NET Desktop feedback