실버라이트(SilverLight) 강좌와TIP 게시판입니다. - 시삽보기

제목: 실버라이트 튜토리얼 파트 4: 보다 나은 캡슐화 된 룩앤필(Look and Feel)을 위한 Style Elements 사용하기
글쓴이: 오일석
평점: 없음
조회: 6795

아래 글은 마이크로소프트 기술담당 부사장인 스캇 구슬리의 블로그에 게시된 First Look at Silverlight 2의 튜토리얼 중에 네 번째인 Using Style Elements to Better Encapsulate Look and Feel의 번역본 입니다.  

실버라이트 튜토리얼 파트 4: 보다 나은 캡슐화 된 룩앤필(Look and Feel)을 위한 Style Elements 사용하기

이 글은 실버라이트 2의 베타1을 사용한 Digg 클라이언트를 만드는 방법에 대한 8가지의 튜토리얼의 네 번째 파트입니다. 이 튜토리얼들은 순서대로 읽어야 하며 실버라이트의 핵심 프로그래밍 개념을 설명하고 있습니다.

보다 나은 캡슐화 된 룩앤필(Look and Feel)을 위한 Style Elements 사용하기

WPF와 실버라이트는 컨트롤의 속성을 재사용 가능한 자원으로 캡슐화 시킬 수 있는 스타일 메커니즘을 지원합니다. 우리는 페이지로부터 분리된 파일에 이러한 스타일 선언을 저장할 수 있고 프로그램에서 여러 페이지나 컨트롤에 걸쳐 재사용 할 수 있습니다. 이것은 기본 커스터마이징 시나리오를 수행할 때 HTML에 CSS를 사용하는 것과 개념적으로 유사합니다.

노트: Color, Font, Size, Margins와 같은 기본 속성을 설정하는 것 외에도 WPF와 실버라이트에서의 스타일은 대단히 풍부한 스킨화와 컨트롤 구조의 개선을 가능케 만드는 컨트롤 템플릿을 정의하고 재사용하는데 사용 가능합니다. 그리고 오늘날 CSS와 HTML이 하지 못하는 커스터마이징 시나리오를 지원합니다. 이것에 대해서는 이 튜토리얼 시리즈의 파트 7에서 다루겠습니다.

Digg 클라이언트 프로그램을 위해 프로젝트의 App.xaml 파일 속에 스타일 선언을 정의하겠습니다. 이것은 프로그램 내의 모든 페이지와 컨트롤에서 재사용 가능하게 만듭니다.



Digg 페이지의 <Border> 컨트롤과 <TextBlock> 컨트롤을 위한 스타일 캡슐화를 시작해보겠습니다.





우리는 위에서 미리 인라인으로 선언해 놓은 <Border>와 <TextBlock> 설정을 캡슐화 하는 스타일 요소 2개를 아래와 같이 App.xaml 파일 속에 만들 수 있습니다.



어떻게 각 스타일에 유일한 키값을 부여하고 있는지 보세요. 그런 다음 <Border>와 <TextBlock> 컨트롤이 이 키를 가지고 스타일을 참조하도록 수정할 수 있습니다. 우리는 XAML의 "markup extensions" 기능을 사용하여 그렇게 만들 수 있습니다. Markup Extensions는 우리가 설정하려는 것에 대한 리터럴 값이 없을 때 사용됩니다. 이 기능을 사용하는 다른 예는 데이터 바인딩 표현법이 있습니다.



게다가 아래와 같이 Page.xaml 파일에 있는 다른 컨트롤들까지 수정 했습니다.



이러한 방법으로 스타일을 캡슐화 하는 것은 개발자가 응용프로그램의 기본 기능을 만드는데 좀더 집중하게 만들고 다른 컨트롤이나 페이지에서 스타일을 재사용 가능하게 합니다.

노트: 베타1에서 알아야 할 한가지는 우리가 스타일 이름과 속성 선언에 오타가 있다는 에러 메시지가 분명하지 않다는 것입니다. 예외를 발생 시키지만 어떤 것이 틀렸는지 말해주지는 않습니다. 이것은 베타2에서 개선될 것입니다. 스타일이 로딩될 때 발생하는 에러 메시지를 보는 동안에는 글자들을 잘 살펴보셔야 합니다.

다음 단계

이제 우리는 스타일 참조를 통해서 우리의 Page.xaml 파일의 마크업을 정리했습니다. 다음단계로 가서 스토리 데이터의 모양을 좀 더 커스터마이징 해 봅시다.

다음 튜토리얼 Using the ListBox and Databinding to Display List Data (한글 번역본 읽기)로 이동하겠습니다.

Published Friday, February 22, 2008 5:53 AM by ScottGu

작성자 정보

글등록 +12 3276
덧글등록 +3 126
이름: 오일석(onestone )

Level 53
 [EXP.202/250 ]


메일: onestone.oh골뱅이gmail.com

홈페이지: onestone.tistory.com
자기소개
오일석 (OH IL SEOK)
HOONS닷넷(http://www.hoons.kr) Silverlight 시삽
블로그: http://onestone.tistory.com
 
글 공유하기 |
 tweet facebook
2008-03-05 오전 1:16:00
IP: 125.131.13.188
        
트랙백 주소 : http://www.hoons.kr/11331/BoardTrackback.aspx ()
등록된 트랙백 0

나도한마디
사용자
글등록 +12108  덧글등록 +145
패러다            [2008-03-06]
Level 12
 [EXP.5/40]
Silverlight 2.0 Beta1이 나와서 이제 따라하면서 다시 보고 있습니다. 너무나도 번역이 깔끔해서 원래 국문이었던것 같은 느낌입니다.

다른 종류의 자료는 저도 번역을 해서 공유하도록 노력하겠습니다.

정말 감사드립니다.
사용자
글등록 +12256  덧글등록 +1737
오드니엘            [2008-03-09]
Level 52
 [EXP.184/250]
오호~~ 잘되네요.. ^^
사용자
글등록 +12118  덧글등록 +15
은빛때지            [2008-04-11]
Level 8
 [EXP.8/14]
app.xaml 에서 DataGrid속성 만들때요. TargetType이 에러나는데요DataGrid해보고 my:DataGrid 해봐도 안돼네요?!
사용자
글등록 +120  덧글등록 +122
행운아G            [2009-05-12]
Level 5
 [EXP.2/16]
DataGrid 속성에서 TargetType을 무엇으로 하나요...계속 에러나 나네요...??
사용자
글등록 +120  덧글등록 +15
박정섭            [2009-11-03]
Level 1
 [EXP.15/16]
행운아G//App.xaml 에 System.Windows.Controls.Data 추가하시고.. data:Data 로 쓰니깐 되네요.
사용자
글등록 +1284  덧글등록 +1143
풍술사            [2010-04-02]
Level 17
 [EXP.35/70]
App.xaml 사용용도를 알수 있게 되었습니다.~!!
태그로 엮인글 리스트
글리스트
  [MSDN] Application Development Overview 평가안됨 gongdo
  실버라이트 2 베타1 개발환경 설치하기 [3] 평가안됨 오일석
  실버라이트 2의 시작 MIX 08 키노트 잘 보는 방법 평가안됨 오일석
  Silverlight 2 - 첫 프로젝트 만들기 평가안됨 테디
  실버라이트 2.0 개발툴 다운로드 링크 평가안됨 테디
   ★현재글->  실버라이트 튜토리얼 파트 4: 보다 나은 캡슐화 된 룩앤필(Look and Feel)을 위한 Style Eleme... [6] 평가안됨 오일석
  실버라이트 튜토리얼 파트 3: 네트워킹을 이용하여 데이터를 가져와서 데이터그리드에 뿌리기 [26]+5 평가안됨 오일석
  [RE]실버라이트 튜토리얼 파트 3: 네트워킹을 이용하여 데이터를 가져와서 데이터그리드에 뿌리기 [2] 파일첨부 평가안됨 오드니엘
  세계태권도 연맹 web Tv [실버라이트] 평가안됨 오드니엘
  실버라이트 튜토리얼 파트2: 레이아웃 컨트롤 사용하기 [12] 10점 오일석
  실버라이트 튜토리얼 파트 1: VS 2008과 실버라이트 2를 이용한 “Hello World” 만들기 - Scot... [9] 평가안됨 오일석


사용자 정보

close