WPF 바 인 딩 계층 구조 데 이 터 를 분석 하 는 응용 상세 설명

실제 프로젝트 응용 에 다양한 유형의 계층 구조 데이터 가 존재 하고 WPF 는 좋 은 데이터 바 인 딩 체 제 를 제공 합 니 다.그 중에서 가장 자주 사용 되 는 것 은 ListBox 와 TreeView 컨트롤 이다.1.ListBox 와 TreeView 컨트롤 의 차이 1.ListBox 는 단일 차원 데이터 집합 을 표시 하고 TreeView 는 단일 차원 과 다 차원 데이터 집합 을 표시 할 수 있 습 니 다.2.ListBox 를 통 해 UI 차원 에서 좋 은 데이터 표시 효 과 를 보 여줄 수 있 고 데이터 집합 에 대해 정렬,그룹,여과 작업 을 할 수 있다.3.TreeView 는 다 차원 데이터 집합 을 트 리 구조 로 표시 하고 Templete 와 Style 속성 을 통 해 좋 은 데이터 표시 효 과 를 정의 할 수 있 습 니 다.2.Listbox 컨트롤 예제 1.Listbox 바 인 딩 데 이 터 를 그룹 으로 나 눕 니 다.Listbox.GridStyle 탭 을 사용 하여 HeaderTemplate 속성 을 정의 하여 그룹 헤더 의 모양 을 정의 합 니 다.


 <ListBox ItemSource="{Binding Path=Data}">
  <ListBox.GridStyle>
      <GroupStyle.HeaderTemplate>
           <DataTemplate>
                 <Stackpanel>
                          <Image Source="xxx.jpg"/>
                           <Label Content="C:"/>
                  <Stackpanel>
           </DataTemplate>
      </GroupStyle.HeaderTemplate>
  </ListBox.GridStyle>
 ......
  </ListBox>
이렇게 하면 WINDOWS 파일 관리자 와 유사 한 효 과 를 만 들 수 있 습 니 다.   2.Listbox 사용 경험 치:/1 WINDOWS 와 같은 아름 다운 인터페이스 효 과 를 실현 하고 그룹 을 나 누 려 면 GroupStyle 스타일 을 사용자 정의 해 야 합 니 다.그렇지 않 으 면 WPF 는 내 장 된 GroupStyle 을 사용 하고 GroupStyle.Default 정적 속성 을 참조 할 수 있 습 니 다./2 Listbox 는 데이터 구 조 를 한 층 만 정의 할 수 있 습 니 다.Listbox 의 Item 에서 Listbox 를 다시 사용 하면 Listbox 의 Item Source 는 이전 Listbox 의 Item 소스 의 데이터 집합 을 계승 하지 않 습 니 다.예 를 들 어 다음 과 같은 데이터 집합 이 있 습 니 다.

public List<Groups> groups = new List<Groups>();groups.Add(new Group);........
Listbox 의 ItemSource Binding List의 데이터 집합,Item 의 Listbox Binding List,Item 의 ListBox 는 List라 는 데 이 터 를 집합 할 수 없습니다.3.TreeView 컨트롤 예제 1.상기 데이터 집합 과 같이 TreeView 로 다 층 데이터 집합 을 연결 합 니 다.

public class Group {
        public int Id { get; set; }
        public string Name { get; set; }
        private List<Box> boxes = new List<Box>();
        public List<Box> Boxes {
            get { return boxes; }
        }
    }
HierarchicalDataTemplate 속성 은 등급 데이터 템 플 릿 입 니 다.이 는 데이터 집합 의 등급 구 조 를 계승 하고 나무의 등급 의존 관 계 를 나타 내 려 면 반드시 HierarchicalDataTemplate 를 사용 해 야 합 니 다.속성 바 인 딩 데 이 터 는 투 웨 이 를 양 방향 속성 으로 사용 합 니 다.원본 데이터 나 대상 이 바 뀌 면 다른 측의 데 이 터 를 업데이트 합 니 다.계층 트 리 에 나타 난 전형 적 인 응용 은 CheckBox 로 하위 노드 의 선택 과 선택 되 지 않 은 상태 로 전달 하 는 것 이다.

좋은 웹페이지 즐겨찾기