그룹화 된 행이있는 wpf 데이터 격자가 있으며 CollectionViewSource
을 사용하여 구현됩니다. 그룹 헤더 템플리트는 CollectionViewGroup
오브젝트에 직접 바인드되는 것으로 보이지만 어떤 이유인지 CVS 내부에서 그다지 액세스 할 수 없습니다. CollectionViewSource
에 그룹 이름을 지정하고 CVG 생성을 처리합니다. 그룹 헤더 스타일을 Name
및 ItemCount
과 같이 CVG가 노출하는 몇 가지 속성 이외의 다른 속성에 바인딩하려면이 작업을 어렵게 만듭니다.WPF DataGrid - 그룹 헤더에 대한 유연한 바인딩
기본적으로 모든 그룹에 Status
속성을 사용하고 그룹 헤더 배경색으로 시각적으로 표시해야합니다. 이 Status
이 변경 될 수 있으므로 헤더가 propertychanged
알림을 감지해야합니다. 그러나 CollectionViewGroup
은 Status
속성이 없으며 CollectionViewSource
에 내 CVG를 제공 할 수 없기 때문에이 간단한 작업을 수행하는 방법을 모릅니다.
Tekito, 내가 이것을 어제 정렬하려고 시도 할 때 당신에게서 작은 예가있는 것은 예외 일 것입니다. 내 주요 질문은, 당신이 '이름'개체의 어떤 속성에 의해 그룹화하는 데 사용하는 CollectionViewSource 어떻게 말할 것 같아요? – dansan
@ 단산 좋아, 몇 가지 코드를 추가했습니다. 그러나 제 CVS는'Name'의 속성에 의해 그룹화되지 않습니다.이 이름은'Name' 객체 자체를 참조하여 그룹화됩니다. 행의 바인드 된 객체는 모두 자신이 속한'Name' 객체를 가리키는'ProductGroup'이라는 속성을 가지고 있습니다. – Tekito