⁠<데이터 템플릿>

​데이터 템플릿은 임의의 닷넷 객체가 랜더링 될 때

적응 할 수 있는 UI의 한 부분으로 많은 WPF

컨트롤들은 데이터 템플릿을 효과적으로 

사용하기 위해 DAtaTemplate 타입의 Porperty들을

갖고 있습니다 WPF 데이터템플릿 모델을 사용하​면


데이터의 표현 방법을 매우 융통성 있게


정의 할수 있습니다. line_characters_in_love-6


이제 데이터 바인딩 예제를 살펴봄으로써


DataTemplate 이 왜 중요한지 알아보겠습니다.


Visual Studio 를 열어 DataTemplate 라는


이름으로 새로운 프로젝트를 생성합니다.


 

 

그리고 프로젝트의 이름 Carlist 로 변경합니다.


 

 



다음은 데이터 템플릿 작업 전에 데이터 바인딩


작업을 진행하겠습니다.


데이터 바인딩이 익숙하진 않지만 아래의


소스코드와 전 강의때의 데이터바인딩


을 참고하여서 진행해보겠습니다.


 

 


위 코드를 다 작성하셨다면 간단한 데이터바인딩


작업은 끝이 났고 다음과 같은 결과를 보입니다


(참고로 App.xaml 의 ⁠StartupUri⁠ 를 CarList.xaml

으로 변경해주세요. %EB%86%80%EB%9E%8C%20%EB%B6%84%ED%99%8D%EB%8F%99%EA%B8%80%EC%9D%B4)

 

 

 

위의 CarList.xaml 코드를 보시면서 눈치 채셨을지

모르겠지만 ListBox에 데이터 바인딩을 하면서

DataTemplate이 사용된 것을 아실 수 있을겁니다.


StackPanel의 DataContext의 "rsCarList" 는


데이터를 정의한 리소스이므로 DataTemplate


형식을 사용하는 속성을 가진 다른 컨트롤들


을 사용할수가 있습니다.


그럼 이제 DataTenplate에 요소를 추가하여


데이터가 좀 더 세련되게 나타나도록


만들어보겠습니다~line_rangers-12


CarList.xaml에서


<Window Resources>...</Window Resources>


사이의 코드를 아래코드를 추가합니다.

 


다음으로 ListBox를 다음과 같이 변경합니다.


 


 

​ListBox에 HorizontalContentAlignment를


Stretch로 설정한 것은 항목 너비가 전체 공간을


차지하도록 하게 하기 위함입니다..


Ctrl + F5  눌러 실행결과를 보세요~


 

 

 

DataTemplate를 적용된 보습이 처음 결과보다


훨씬 더 세련되고 멋지게 나옵니다.


이로서 데이터 바인딩을 넘어서


데이터 템플릿을 적용한 응용프로그램을


만들수 있게되었습니다. line_rangers-12





'닷넷 > Wpf프로그래밍' 카테고리의 다른 글

WPF 교육11  (0) 2015.09.24
WPF 교육10  (0) 2015.09.24
WPF 교육8  (0) 2015.09.22
WPF 교육7  (0) 2015.09.21
WPF 교육6  (0) 2015.09.18

+ Recent posts