개발공부/WPF

[WPF] WPF 주요 특징 정리

개발자 찐빵이 2021. 11. 7. 14:44
728x90

1. 엘리먼트와 어트리뷰트

엘리먼트 : XAML에서 생성되는 객체. 꺽쇠(<)가 시작하고 바로 나오는 부분이 엘리먼트이다.
어트리뷰트 : 엘리먼트의 속성을 결정하는 부분.

2. 네임스페이스

WPF에서 네임스페이스를 사용하려면 xmlns:x를 사용한다.

예시 코드

xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

3. 프로퍼티 엘리먼트 & 프로퍼티 어트리뷰트

(프로퍼티란 객체의 속성을 말한다.)
엘리먼트, 어트리뷰트로 속성을 정의할 수 있다.

엘리먼트로 속성 정의하는 방법 (프로퍼티 엘리먼트)

<Button>
  <Button.Content>
    OK
  </Button.Content>
  <Button.Background>
    White
  </Button.Background>
</Button>

어트리뷰트로 속성 정의하는 방법 (프로퍼티 어트리뷰트)

<Button Content="OK"
        Background="White"/>

지금까지는 어트리뷰트를 주로 사용했다.

엘리먼트는 코드가 길어지는 단점만 있는 것 같은데, 언제 사용될까?
찾아보니 프로퍼티가 복잡할 때 사용된다.

복잡한 프로퍼티 예시

<Button>
  <Button.Content>
    <Rectangle Height="40"
               Width="40"
               Fill="Black"/>
  </Button.Content>
</Button>

4. 타입 컨버터

어떤 값을 프로퍼티로 설정할 때, 설정한 값과 프로퍼티 타입이 맞지 않을 수 있다.
이럴 때 프로퍼티에 맞는 타입으로 변환해줘야 하는데, 타입 컨버터를 사용해서 변환한다.

WPF에서는 Brush, Color, FontWeight, Point 등 많이 사용되는 데이터 타입에 기본 타입 컨버터를 제공한다.
데이터 바인딩을 할 때는 타입 컨버터를 직접 만들어서 사용할 수 있다.

반응형