방법: 데이터 수집 뷰의 개체 탐색
뷰를 사용하면 정렬, 필터링 또는 그룹화에 따라 동일한 데이터 수집을 다양한 방식으로 볼 수 있습니다. 뷰는 또한 현재 레코드 포인터 개념을 제공하고 포인터를 이동할 수 있도록 합니다. 이 예제에서는 CollectionView 클래스에 제공된 기능을 사용하여 현재 개체를 가져오고 데이터 컬렉션의 개체를 탐색하는 방법을 보여 줍니다.
예제
이 예제에서 myCollectionView
는 바인딩된 컬렉션에 대한 뷰인 CollectionView 개체입니다.
다음 예제에서 OnButton
은 사용자가 데이터 수집을 탐색할 수 있도록 하는 단추인 애플리케이션의 Previous
및 Next
단추에 대한 이벤트 처리기입니다. IsCurrentBeforeFirst 및 IsCurrentAfterLast 속성은 현재 레코드 포인터가 각각 목록의 시작과 끝에 왔는지 여부를 보고하므로 MoveCurrentToFirst 및 MoveCurrentToLast를 적절하게 호출할 수 있습니다.
뷰의 CurrentItem 속성은 컬렉션의 현재 주문 항목을 반환하기 위해 Order
로 캐스팅됩니다.
//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
참고 항목
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET Desktop feedback