2011-04-11 2 views
1

Silverlight에는 매우 매력적인 Silverlight가 전혀 없다는 사실은 잘 알려져 있습니다. Silverlight에 매우 강력한 x:Type MarkupExtension (MarkupExtension is not supported)이 없습니다. 동적 인 해결 방법이 있습니까?Silverlight XAML에서 '유형'을 인스턴스화하는 방법이 있습니까?

enum (x:Static)은 어떨까요?

CommandParameter를 Type 또는 Enum 값으로 설정해야하며,이 중 하나도 Silverlight에서 지원되지 않습니다.

답변

1

일반적으로 코드 숨김으로 처리해야합니다. Type 형식의 속성을 노출하는 사용자 지정 개체를 작성하는 경우에도 XAML을 통해 설정된 경우 올바르게 변환되지 않습니다.

이 추가 제한 사항은 Type 속성을 노출하고 지정된 열거 유형의 열거 형 값으로 Values ​​속성을 업데이트하는 사용자 지정 EnumValueProvider 같은 것을 만들지 못하게합니다. 이와 같은 클래스를 사용하면 ComboBox 또는 ListBox를 XAML의 열거 형 값 목록에 바인딩 할 수 있습니다.

위의 Type 속성에 대해 custom TypeConverter을 만들면이 문제를 다소 해결할 수 있습니다. 그러나 당신은 당신이 기대하는 xmlns 해상도를 얻지 못합니다. 그러나 상황에 따라 충분할 수도 있습니다.

다음은 another example입니다.이 유형은 속성을 통해 "알려진"유형을 노출하여 바인딩 할 수 있습니다.

+0

나는 왜 내가 그것을 필요로하는지 내 질문에 지적했다. – Shimmy

+0

@Shimmy - 최선의 방법은 아마도 맞춤형 IValueConverter가 될 것이고 그것이 OneTime 일지라도 Binding을 사용할 것입니다. – CodeNaked

관련 문제