.Net/WPF
컬렉션 뷰 작업 (ICollectionView 선택 개체 변경)
동구밖과수원
2013. 3. 18. 14:40
컬렉션 뷰 작업
WPF 컨트롤은 데이터 컬렉션에 바인딩될 때 컬렉션 자체에 직접 바인딩되지는 않습니다. 대신 해당 컬렉션을 자동으로 래핑하는 뷰에 암시적으로 바인딩됩니다. 이 뷰는 ICollectionView 인터페이스를 구현하며 여러 구체적인 구현 중 하나일 수 있습니다(예: ListCollectionView).
컬렉션 뷰는 여러 가지 역할을 합니다. 컬렉션 뷰는 컬렉션의 현재 항목을 추적하는데, 이러한 항목은 일반적으로 목록 컨트롤의 활성/선택된 항목으로 해석됩니다. 또한 컬렉션 뷰는 목록 항목의 정렬, 필터링 및 그룹화에 대한 포괄적 수단을 제공합니다. 컬렉션을 둘러싼 하나의 뷰에 여러 컨트롤을 바인딩하여 서로 조화를 이루도록 할 수 있습니다. 다음 코드는 ICollectionView의 기능 일부를 보여 줍니다.
컬렉션 뷰의 CurrentItem 속성과 동기화된 상태를 유지하려면 목록 상자, 콤보 상자 및 목록 뷰와 같은 모든 목록 컨트롤의 IsSynchronizedWithCurrentItem 속성이 true로 설정되어야 합니다. 이 속성은 추상 Selector 클래스가 정의합니다. 이 속성이 true로 설정되지 않으면 목록 컨트롤에서 항목을 선택해도 컬렉션 뷰의 CurrentItem이 업데이트되지 않고 CurrentItem에 새 값을 할당해도 해당 목록 컨트롤에 이 값이 반영되지 않습니다.