[WPF] Templates

Doit·2023년 5월 26일
0

WPF

목록 보기
5/5
  • Templates → 시각적 요소 + 데이터 표현 변경 Templates은 WPF 기본 스타일의 Elements(컨트롤들이라 생각하면 됨)의 시각적 요소와 데이터 표현을 변경(재정의)할 수 있다. 단순히 글자색 변경이나 border의 색상을 바꿀 때는 필요 없는데 각 사용자 액션에 따른 동작들에 의해 전체적으로 각 행동(마우스 오버/클릭 등)에 맞는 색상을 지정해야 하는 경우가 종종 생긴다. 또한 기본 모양을 바꾸고 싶다면 아래의 내용을 이해는 못하더라도 현재는 이렇게 사용하면 되는구나 정도는 알 필요가 있다.

WPF는 엘리먼트의 룩앤필(Look & Feel)을 업데이트하는데  아래 3가지 유형의 템플릿을 제공한다

FrameworkTemplate           

|          

  • ControlTemplate           → 컨트롤의 컨텐츠가 아닌 컨트롤의 외관을 꾸밀 때

|          

  • DataTemplate           → 컨트롤의 컨텐츠 부분을 스타일링한다.

|          

  • ItemsPanelTemplate → ComboBox, ListBox 등의 같은 OOitems들을 여러 개 갖는 컨트롤의 레이아웃을 표현한다.
    (아이템 정렬을 어떻게 표현할까이다)

ControlTemplate VS DataTemplate

→ DataTemplete는 데이터를 어떻게 표현할것이냐 이고, ControlTemplete는 컨트롤을 어떻게 표현할것이냐의 차이가 있습니다

📌 ControlTemplate → 모든 컨트롤에 대한 템플릿 (컨트롤의 content가 아닌 외형을 꾸며주는 것)

  • Control 클래스 전용 Visual 담당.
  • 즉, UI Control로써 사용자와 상호작용하는 Logic을 위한 Visual을 정의 하기 위해 사용합니다.
  • TargetType을 지정해주면 트리거 쪽에서 해당 컨트롤의 프로터티(속성)을 사용할 수 있음

📌 DataTemplate → content를 꾸며주는 것

  • ContentPresenter 클래스의 전용 Visual 담당
  • 즉,무엇이든 상관없는 그 Content 라는 놈을 위한Visual을 정의하기 위해 사용합니다.

데이터 템플릿도 마찬가지로 ContentTemplate와 ItemTemplate 두 가지 방식이 있다.

📎 ContentTemplate는 단일객체에 사용,

📎 ItemTemplate는 리스트와 그리드뷰등 여러 객체를 담는 데 사용한다고 볼 수 있다.

profile
c# .NET Develpoer

0개의 댓글

관련 채용 정보