통합검색
· 마을서비스란?  · 포럼마을  · 일반마을  · 테마마을  · 마을랭킹  · 활동왕
· 덱스퍼트란?  · TECBOX   · PRSBOX   · 이용안내  
· DEXT제품군  · 솔루션베이  · S/W & ESD 컴포넌트
· 프로그램베이
· LiveSeminar  · LiveConference
WPF & Silverlight 포럼마을입니다.
  마을등급 WPF & Silverlight   이 마을은 포럼마을 입니다이 마을은 자유가입제 마을 입니다 마을소개 페이지로 이동 전입신청
마을촌장촌장 서학수 주민 728 since 2008-07-17
우리마을 공지사항
질문&답변
강좌&팁
자유게시판
자료실
앨범
[마을 게시판]
WPF 강좌
랑데브 게시판
칼럼 게시판
개발자 고충상담
Dev Talk
자유토론방
벼룩시장
재나미 우스개
구인/프로젝트 정보
사람인 채용 게시판
  고객지원 게시판
마이 데브피아
 나의 e-Money 내역
 활동왕 My Page
 스크랩한 게시글보기
 쪽지관리
 주소록관리

 WPF 강좌
 Tree view Template을 이용한 Architecture View 구현 2008-09-01 오후 1:30:32
 kdw234  kdw234님께 메시지 보내기kdw234님을 내 주소록에 추가합니다.kdw234님의 개인게시판 가기 번호: 38157  / 읽음:11,231

안녕하세요. 이번 시간에는 우리가 흔히 사용하는 Tree View를 사용하여 간단한 Architecture를 표현할 수 있는 Architecture View를 구현 해보도록 하겠습니다. 아래 그림은 LINQ의 Architecture를 Treeview로 표현 한 것입니다.

사용자 삽입 이미지

그리고 아래 그림은 위 Treeview 데이터를 그대로 유지한 체 Template만 변경 하여 우리가 흔히 접하는 Architecture모양으로 변경 해본 것입니다.

사용자 삽입 이미지

그림 지금부터 코드를 살펴보겠습니다.

  1. <STYLE TargetType="TreeViewItem">  
  2.     <Setter Property="Template">  
  3.         <Setter.Value>  
  4.             <ControlTemplate TargetType="TreeViewItem">  
  5.                 <Border Margin="2" CornerRadius="5"    
  6.                         Background="{TemplateBinding Background}"    
  7.                         BorderBrush="Black" BorderThickness="1" Padding="5">  
  8.                     <StackPanel>  
  9.                         <ContentPresenter ContentSource="Header"    
  10.                                           HorizontalAlignment="Center"    
  11.                                           VerticalAlignment="Center" />  
  12.                         <ItemsPresenter/>  
  13.                     </StackPanel>  
  14.                 </Border>  
  15.                 <ControlTemplate.Triggers>  
  16.                     <Trigger Property="IsSelected" Value="True">  
  17.                         <Setter Property="Background" Value="#2F000000" />  
  18.                     </Trigger>  
  19.                 </ControlTemplate.Triggers>  
  20.             </ControlTemplate>  
  21.         </Setter.Value>  
  22.     </Setter>  
  23.     <Setter Property="ItemsPanel">  
  24.         <Setter.Value>  
  25.             <ItemsPanelTemplate>  
  26.                 <WrapPanel HorizontalAlignment="Center"    
  27.                            IsItemsHost="True" Margin="5"    
  28.                            Orientation="Horizontal"  />  
  29.             </ItemsPanelTemplate>  
  30.         </Setter.Value>  
  31.     </Setter>  
  32. </STYLE>  

TreeviewItem에 Template을 적용했으며 Border와 StackPanel을 사용하여 Treeview Item의 Header와 Child Item이 표현되게 구현했습니다. 그리고 Child Item이 추가되는 ItemsPanel을 WrapPanel을 사용하여 구현했습니다. WrapPanel을 사용했기 때문에 부보의 허용 크기보다 커질 경우 객체가 아래로 출력되게 됩니다. 간단하죠? 사용은 아래와 같이 사용하시면 됩니다.

  1. <TREEVIEW BorderBrush="Transparent" VerticalAlignment="Center">  
  2.   
  3.     <TREEVIEWITEM Header="WPF KOREA - http://whatisthat.co.kr">  
  4.         <TREEVIEWITEM Header="LINQ Architecture" Width="450">  
  5.   
  6.             <TREEVIEWITEM Header="C#" Width="100" />  
  7.             <TREEVIEWITEM Header="VB .Net" Width="100" />  
  8.             <TREEVIEWITEM Header="J#" Width="100" />  
  9.             <TREEVIEWITEM Header="Other" Width="100" />  
  10.   
  11.             <TREEVIEWITEM Header="Language Integrated Query" Width="400" />  
  12.             <TREEVIEWITEM Header="Linq Enabled Data Sources" Width="400">  
  13.                 <TREEVIEWITEM Header="Object" Width="70" />  
  14.                 <TREEVIEWITEM Header="Linq Enabled ADO.NET" Width="220">  
  15.                     <TREEVIEWITEM Header="Dataset" Width="60" />  
  16.                     <TREEVIEWITEM Header="SQL" Width="60" />  
  17.                     <TREEVIEWITEM Header="Entites" Width="60" />  
  18.                 </TREEVIEWITEM>  
  19.                 <TREEVIEWITEM Header="XML" Width="70" />  
  20.   
  21.             </TREEVIEWITEM>  
  22.   
  23.   
  24.         </TREEVIEWITEM>  
  25.     </TREEVIEWITEM>  
  26. </TREEVIEW>  



위는 실제 LINQ Architecture를 표현 한 예입니다.

코멘트쓰기
  좋음   놀람   궁금   화남   슬픔   최고   침묵   시무룩   부끄럼   난감
* 코멘트는 500자 이내(띄어쓰기 포함)로 적어주세요.
목록 보기   지금 보고 계시는 글을 회원님의 my Mblog >> 스크랩에 넣어두고 다음에 바로 보실 수 있습니다.  
회사소개  |   개인정보취급방침  |  제휴문의  |   광고문의  |   E-Mail 무단수집거부  |   고객지원  |   이용안내  |   세금계산서
사업자등록번호 안내: 220-81-90008 / 통신판매업신고번호 제 2017-서울구로-0055호 / 대표: 홍영준, 서민호
08390, 서울시 구로구 디지털로32길 30, 1211호 / TEL. 02_6719_6200 / FAX. 02-6499-1910
Copyright ⓒ (주) 데브피아. All rights reserved.