속성 찾아 삼만리
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 |