블로그 이미지
생각처럼

카테고리

전체보기 (209)
TOOL (1)
다이어리 (1)
Bit (200)
HELP? (0)
Total
Today
Yesterday

달력

« » 2025.2
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28

공지사항

태그목록

최근에 올라온 글

WPF Architecture #3

Bit/WPF / 2012. 2. 3. 17:21

출처 Chul's blog time | Chuls
원문 http://blog.naver.com/silent1002/10084016909

최근 프로젝트로 인하여 별로 사용할 일이 없었던 WPF에 손을 대고 있습니다.

지금까지 사용했던 적이 없던 것이 아니지만.. Canvas를 이용해서 컨텐츠를 개발하는 정도가 고작이었던터라.. 나름대로 새롭게 공부할 필요를 느껴  서적을 들여다보니.. 아키텍처와 관련하여 아주 잘 정리된 내용이 있더군요. (검색을 통해서는 잘 알 수 없었던...)

 

언제나 느끼지만.. 플랫폼을 접할 때 그 플랫폼에서 개발을 어떻게 하는지만을 배울 것이 아니라.. 좀 더 근본적으로 그 플랫폼이 어떻게 생겨먹었는지 알아가는 것이 먼저라는 생각이 듭니다.

 이런 이유로 WPF아키텍처에 대해서 제가 이해한 내용을 간단하게 포스팅합니다.

 

이번 포스팅에서 실제로 WPF 구조 이해에 도움이 될만한 간단한 실습(?)을 해볼 것입니다.

매우 간단하므로.. 너무 많은 기대를 가지지는 마시길 바라며 글을 작성합니다. ^^

 

 

이전 글을 아직 읽어보지 않으신 분은 아래 두 개의 글을 먼저 읽어보면 많은 도움이 될 수 있습니다.

WPF Architecture를 비롯해  Dispatcher Object, Dependency Object에 대해서..

(http://blog.naver.com/silent1002/10083967513)

Visual과 UIElement, Framework Element, Control등에 대해서..

(http://blog.naver.com/silent1002/10083967248)

 

 

 

WPF 구조 이해에 필요한 간단한 실습

 

우선 간단하게 WPF프로젝트를 하나 생성합니다.

 

솔루션 탐색기로 이동해 참조 부분에서

PresentationCore, PresentationFramework, WindowsBase 어셈블리가 있는 것을 눈으로 직접 확인해보도록 합니다.

 

 

 PresentationCore, PresentationFramework, WindowsBase 어셈블리

 

 

 

 

 

어셈블리 살펴보기

PresentationCore, PresentationFramework, WindowsBase 어셈블리를 더블클릭 혹은 마우스 우클릭을 통해서 객체 브라우저로 살펴보도록 합니다.

 

 

버튼등의 간단한 컨트롤을 상속받은 클래스를 하나 생성해보도록 합니다.

본 글에서는 MyButton이라는 이름의 버튼을 상속받은 클래스를 하나 생성하였습니다.

 

그리고 프로젝트에서 클래스 다이어그램을 생성해보도록 합니다.

 

 

 클래스 다이어그램을 만들어 봅니다.

 

 

 

 

 

 

아래는 생성된 클래스 다이어그램은 아래와 같습니다.

 

 

 생성된 클래스 다이어그램 

 

 

 

 

여기서 MyButton 객체를 우클릭하여 기본 클래스를 표시해 보도록합니다.

여기서 직접 MyButton의 기본 클래스를 확인해보도록 합니다.

 

클래스 다이어그램으로 본 MyButton의 기본 클래스 

 

 

 

 

 

그리고 Button 클래스의 속성창을 직접 확인해봅니다.

 

 

 Button 클래스의 속성 

 

 

 

 

전체 이름과 파일 이름 항목을 확인하고 Object Browser정보와 직접 비교해 보도록합니다.

 

 

다음 사항들에 대해서 동일한 내용을 직접 확인해보도록 합니다.

- Visual < UI Element < Framework Element 순으로 상속됨을 직접 확인해보고..

- Framework Element와 UI Element를 확장해 속성중에 Resources가 있는지 확인합니다.

- 또한 UI Element에는 Resources속성이 없으므로 자체 리소스를 UI Element 수준에서는 저장할 수 없다는 것 또한 확인해봅니다.

 

 

 

글의 서두에서 언급했던 것과 같이 매우 간단한 실습을 해보았지만.. WPF를 접한지 얼마 안되신 분들에게는 WPF구조를 이해하기에 많은 도움을 드릴 수 있을 것입니다.

글로 읽는 것과 실제로 가시화시켜 확인하는 것은 다르기 때문입니다.

 

또한.. 이번 포스팅에 이어서 XAML이라던지.. 종속성 속성 등 WPF기본적인 요소에 대해서 계속해서 포스팅해 나갈 생각입니다. WPF를 공부하시는 분들께 조금이나마 도움을 드릴 수 있기를 바랍니다.

계속해서 작성한다면.. Control을 제작한다거나.. Expression Blend등을 이용한 개발등에 대한 내용 또한 포스팅 할 수도 있을 것 같습니다. (이런 부분들은 제가 직접 해봤던 부분들이기 떄문에 경험담을 토대로..)

 

아무튼 WPF 카테고리는 이런식으로 채워 나가게 될 것 같습니다. ^^

Posted by 생각처럼
, |

최근에 달린 댓글

최근에 받은 트랙백

글 보관함