속성 찾아 삼만리
Expression Blend에서 실버라이트 컨트롤의 속성을 다루다보면 어찌다 많은 속성들이 있는지...
원하는 속성을 찾아 헤매게 됩니다. (찾기 힘든 속성은 검색을 이용하기도 하지요. ^^)
새 컨트롤이라도 만들게 되면, 그 컨트롤에 우리가 추가한 속성들은 기본적으로 맨 아래
Miscellaneous 파트로 추락하게 되지요. 보다 적당한 장소가 있다고 생각하는데도 말이죠.
이 글에서는 어떻게 하면 내가 만든 속성들을 Built-in 컨트롤들처럼 적당하게 분류해서 제공할 수 있는지에 대해
소개하겠습니다. 오래된 정보이지만 제 경우에도 매번 쓸 때마다 검색을 하게되어 그냥 포스트 하나 작성합니다.
한번 작성하면 제 기억에도 자알 남겠지요!
Expression Blend에서 속성을 잘 분류해서 보여주자
자! 우리가 개발하는 UserControl 또는 CustomControl에 Title이란 프로퍼티를 아래와 같이 추가했다고 가정합니다.
#region Title public string Title { get { return (string)GetValue(TitleProperty); } set { SetValue(TitleProperty, value); } } public static readonly DependencyProperty TitleProperty = DependencyProperty.Register( "Title", typeof(string), typeof(WindowChrome), new PropertyMetadata("Application Name", OnTitlePropertyChanged)); private static void OnTitlePropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { WindowChrome _WindowChrome = d as WindowChrome; if (_WindowChrome != null) { //TODO: Handle new value. } } #endregion Title
나중에 Blend에서 이 Control의 속성을 수정하려고 할 때 Title이란 속성은
가장 아래쪽 Miscellaneous에 분류되어 있을 겁니다.
다른 카테고리로 이동시키거나 새 카테고리를 생성하고 싶으실 때에는
소스코드에서 해당 프로퍼티를 정의한 부분에 찾아가 다음과 같이 Category라는 Design-time Attribute를 추가해 주시면 됩니다.
만약 Title을 Common Properties라는 분류에 포함시키고 싶다면 아래와 같이 하시면 됩니다.
Description에는 Blend에서 마우스 포인터를 가져다 댔을 때 표시하고 싶은 툴팁 정보를 입력하시면 됩니다.
[Category("Common Properties"), Description("OOB Application Title")] public string Title { get { return (string)GetValue(TitleProperty); } set { SetValue(TitleProperty, value); } }
'Silverlight > Tips' 카테고리의 다른 글
실버라이트 풀 스크린 유지하기 (포커스를 잃은 상태라도) (0) | 2010.12.20 |
---|---|
바이너리 인코딩된 WCF메세지 Fiddler로 보는 방법 (WCF RIA Service 이용자에게 유용) (0) | 2010.10.01 |
IE9 Beta와 실버라이트 디버깅 (0) | 2010.09.20 |
실버라이트 OOB 디버깅하기 (0) | 2010.05.21 |
ApplicationBar for Windows Phone 7 #WP7 (0) | 2010.04.14 |
Localization Silverlight : 브라우저 언어설정 참조하기 (0) | 2010.03.24 |
RadControl for Silverlight 4 RC 컴파일 에러 트러블슈팅 (1) | 2010.03.24 |