2012-01-31 4 views
1

일부 종속성 속성을 노출하는 UserControl을 만들고 있는데,이 속성은 컨트롤이 작동하도록 채워야합니다.디자인/컴파일 타임에 UserControl 종속성을 만드는 방법은 무엇입니까?

컨트롤을 XAML에서 사용할 때 종속성 속성 값을 제공 할 수 있습니다. 그러나 모든 값을 설정하지 못하면 런타임까지 예외가 표시되지 않습니다 (예외가 throw됩니다).

UserControl이 필요에 따라 특정 종속성을 표시 할 수있는 방법이 있습니까? 이것이 일반 C# 클래스 인 경우에는 해당 종속성을 생성자 매개 변수로 사용합니다. 그러나 나는 WPF/XAML 세계에서 비슷한 무엇이 옳은 것인지를 잘 모릅니다.

우리는 .NET 3.5으로 VisualStudio를 사용하고 2008 년

+1

좋은 질문이지만 좋은 디자인입니까? 도구 상자에서 컨트롤을 내 윈도우로 드래그하면 일부 속성을 설정할 필요없이 작동 할 것으로 기대됩니다. 물론 필요한 모든 속성이 설정 될 때까지 시각적 영역에 오류/정보 메시지를 렌더링하는 컨트롤을 이미지 할 수 있습니다. CredentialsProvider 속성을 설정할 때까지 오류를 표시하는 Bing Maps 컨트롤을 생각해보십시오. – Clemens

+0

종속성 속성에 기본값을 제공하는 것이 가장 좋습니다. – Rachel

+0

@Rachel, Map.CredentialsProvider에 기본값을 제공하는 방법은 무엇입니까? 여기에는 응용 프로그램 작성자 만 제공 할 수있는 응용 프로그램 특정 ID가 들어 있습니다. – Clemens

답변

0

가능한 솔루션은 제어 설계 과정에서 시간이 이러한 속성에 개발자 힌트 그를 촉구 것으로, 시각적 영역에서 오류 메시지를 렌더링 할 수 있도록하는 것입니다 값을 할당 할 수 있습니다.

이러한 동작의 예는 응용 프로그램 프로그래머가 CredentialsProvider 속성을 설정해야하는 Bing Maps 컨트롤입니다. CredentialsProvider가 설정되어 있지 않은 경우지도에는 가운데에 적절한 메시지가있는 큰 라벨이 표시됩니다.

Bing Maps 컨트롤과 달리 디자인 타임에만 이러한 메시지를 표시하고 런타임 중에 예외를 대신 throw 할 수 있습니다.

관련 문제