최신 Control-Gantt 차트 인 DevExpress v20.1을 시작하는 방법을 가르치는 40 분, 지금 등록 >>
DevExpress v20.1 정식 버전 다운로드 DevExpress v20.1 중국어 리소스 획득
함께 DevExpress의 WPF 컨트롤 , 당신은 현대 고객의 요구에 초점을 강력한 대화 형 기능을 가진 XAML 기반 응용 프로그램을 만들 수 있습니다와 미래의 터치 지원 솔루션의 새로운 세대를 구축 할 수 있습니다.
시스템 배경
- 플랫폼 : WPF
- 제품 : WPF 용 DXTreeList
- 프레임 워크 : .NET Framework 빌드 20.1.4
- 운영 체제 : Windows 10 x64
- IDE : Microsoft Visual Studio 2019
발생한 문제
TreeListView를 사용하여 구조화 된 데이터를 표시하는 솔루션을 얻을 때 IChildNodesSelector를 사용하여 트리를 만듭니다. 제대로 작동 할 때 모델이 있으며 각 레벨에는 여러 SubType이있을 수 있으며 ClassA에는 List ClassB 및 List ClassC 멤버가 있습니다. 모든 예제는 가능한 하위 유형을 하나만 언급하는 것으로 나타 났으며, 디스플레이는 모든 클래스가 해당 클래스의 해당 속성에 매핑되는 인터페이스를 구현합니다.
공용 인터페이스 ITreeBaseItem { string ObjectType {get; } string 요소 {get; } 문자열 제목 {get; } string Detail1 {get; } string Detail2 {get; } string Detail3 {get; } }
여기에서 발췌 한 내용입니다.
public class CustomChildrenSelector : IChildNodesSelector { public IEnumerable SelectChildren (object item) { if (item is ProjectStage) return ((ProjectStage) item) .Tasks; else if (항목이 ProjectObject입니다) return ((ProjectObject) item) .Stages; null을 반환합니다. } }
문제는 ProjectStage 클래스에 작업뿐만 아니라 다른 하위 유형, 즉 목표가있는 경우 어떻게됩니까? IChildNodesSelector를 사용하여이 작업을 수행 할 수 있습니까? 아니면 다른 전략을 계속해야합니까?
해결책:
기술적으로 이러한 컬렉션을 선택기로 병합하고 결과를 반환 할 수 있습니다. 아래에 설명 된 메서드를 참조 할 수 있습니다. 방법 : 자식 노드 선택기를 통해 계층 적 데이터 바인딩 구현 . 또한 여러 유형의 누락 된 속성 편집을 비활성화하고 CellTemplateSelector를 사용하여이 메서드를 구현해야합니다.
DevExpress Technical Exchange Group 2 : 775869749 그룹 토론에 오신 것을 환영합니다.