방법: 데이터 수집의 기본 뷰 가져오기

뷰를 사용하면 정렬, 필터링 또는 그룹화 조건에 따라 동일한 데이터 수집을 다양한 방식으로 볼 수 있습니다. 모든 컬렉션에는 하나의 공유 기본 뷰가 있으며, 바인딩이 컬렉션을 원본으로 지정할 때 실제 바인딩 원본으로 사용됩니다. 이 예제에서는 컬렉션의 기본 뷰를 가져오는 방법을 보여 줍니다.

예제

뷰를 만들려면 컬렉션에 대한 개체 참조가 필요합니다. 이 데이터 개체는 사용자 고유의 코드 숨김 개체를 참조하거나, 데이터 컨텍스트를 가져오거나, 데이터 원본의 속성을 가져오거나, 바인딩의 속성을 가져와서 얻을 수 있습니다. 이 예제에서는 데이터 개체를 DataContext를 가져오고 이를 사용하여 이 컬렉션의 기본 컬렉션 뷰를 직접 가져오는 방법을 보여 줍니다.

myCollectionView = (CollectionView)
    CollectionViewSource.GetDefaultView(rootElem.DataContext);
myCollectionView = CType(CollectionViewSource.GetDefaultView(rootElem.DataContext), CollectionView)

이 예제에서 루트 요소는 StackPanel입니다. DataContextmyDataSource로 설정됩니다. 이는 Order 개체의 ObservableCollection<T>인 데이터 공급자를 나타냅니다.

<StackPanel.DataContext>
  <Binding Source="{StaticResource myDataSource}"/>
</StackPanel.DataContext>

또는 CollectionViewSource 클래스를 사용하여 사용자 고유의 컬렉션 뷰를 인스턴스화하고 바인딩할 수 있습니다. 이 컬렉션 뷰는 직접 바인딩하는 컨트롤에서만 공유됩니다. 예제는 데이터 바인딩 개요에서 뷰를 만드는 방법 섹션을 참조하세요.

컬렉션 뷰에서 제공하는 기능의 예제는 뷰에서 데이터 정렬, 뷰에서 데이터 필터링데이터 컬렉션 뷰에서 개체 탐색을 참조하세요.

참고 항목