728x90
XAML(Extensible Application Markup Language)
닷넷 API에서만 사용하는 XML 기반의 마크업 언어.
사용자 인터페이스 Element, 데이터 바인딩, 이벤트 등의 기능을 정의할 때 사용한다.
Element의 기능
- 포함된 데이터에 대해 설명한다.
- 다른 요소를 포함한다.
element는 다음과 같이 element 이름, 데이터 형식으로 구성된다.
"fruit"이라는 이름의 Element를 정의하는 방법
<xs:element name = "fruit" type = "xs:string">
이렇게 element가 정의된 경우라면 다음과 같이 element를 만들 수 있다.
<fruit> apple </fruit>
<fruit> strawberry </fruit>
주의사항
- XML은 대/소문자를 구별한다.
- 요소의 이름은 숫자나 밑줄 또는 "XML"이라는 문자로 시작될 수 없다.
- 요소의 이름에는 공백이 포함될 수 없다.
Attribute의 기능
- 요소(Element)의 부가 정보를 나타낸다.
- 기본 값을 할당할 수 있고 순서에 상관 없이 선언될 수 있다.
''
또는""
로 묶여져서 나타낸다.
<xs:element name="fruits">
<xs:complexType>
<xs:sequence>
<xs:element name="fruitNumber" type="positiveInteger"/>
<xs:element name="fruitName" type="xs:string"/>
<xs:element name="price" type="xs:number/">
</xs:sequence>
<xs:attribute name="fruitType" type="xs:string"/>
</xs:complexType>
</xs:element>
이렇게 정의할 수 있고 XML 문서에는 다음과 같이 사용할 수 있다.
<?xml version="1.0">
<fruits fruitType = "GeneralFruits">
<fruitNumber>1</fruitNumber>
<fruitName>apple</fruitName>
<price>5000</price>
</fruits>
XAML에는 .NET의 네임스페이스, 데이터 타입, 프로퍼티, 이벤트 등을 XML 네임스페이스, 엘리먼트, 어트리뷰트와 매핑해주는 규칙이 정의되어있다.
엘리먼트 종류
- 오브젝트 엘리먼트(Object element)
기본 생성자(Defalut constructor)를 사용해서 상응하는 닷넷 객체를 생성하는 것 - 프로퍼티 엘리먼트
복잡한 프로퍼티를 설정할 수 있는 대안. 표현이 길어질 수 있다.
프로퍼티 엘리먼트는 단순한 프로퍼티(ex : Background Property)로 사용할 수 있으며, 이때 프로퍼티 엘리먼트는 생략된다.
어트리뷰트 종류
- 프로퍼티 어트리뷰트(프로퍼티로 매핑)
생성된 닷넷 객체에 동일한 프로퍼티를 설정하는 것과 동일하다. - 이벤트 어트리뷰트(이벤트로 매핑)
객체의 이벤트 처리기와 연결된다.
참고 자료
반응형
'개발공부 > WPF' 카테고리의 다른 글
[WPF] 라우티드 이벤트(Routed Event) 이해하기 (0) | 2021.11.07 |
---|---|
[WPF] WPF 주요 특징 정리 (0) | 2021.11.07 |
[XAML] 레이아웃 종류 알아보기 + 예제 정리 (0) | 2021.10.29 |
WPF, .NET 개발환경 세팅하기 (0) | 2021.10.25 |
윈도우 프로그램 개발에 WPF를 사용하는 이유 (0) | 2021.10.24 |