를 지정하여 i/o는 MarkupExtension작성 컬렉션 속성 속성 요소
public class DataTemplates : Dictionary<object, DataTemplate>{}
[MarkupExtensionReturnType(typeof(DataTemplateSelector))]
[ContentProperty("DataTemplatesDictionary")]
public class TemplateSelectorExtension : MarkupExtension
{
//...
public DataTemplates DataTemplatesDictionary { get; set; }
public override object ProvideValue(IServiceProvider serviceProvider)
{
if (DataTemplatesDictionary == null) throw new ArgumentException();
// some logic
}
}
는 XAML에서 사용이 승
<TabControl.ItemTemplateSelector>
<GUI:TemplateSelector>
<GUI:DataTemplates> <!-- How do I avoid this element???-->
<DataTemplate ....>
</DataTemplate>
<DataTemplate ....>
</DataTemplate>
</GUI:DataTemplates>
</GUI:TemplateSelector>
</TabControl.ItemTemplateSelector>
질문 : "DataTemplates GUI를"그것은 피할 수있다 어떤 TypeConverter를 쓰는 요소 또는 다른 방법?
감사합니다.
UPDATE : 내가 MSDN article 발견했습니다, 내 예를없이 작동해야한다고 "GUI : DataTemplates는"잘하지만 같은 인터넷 상태 또한 많은 기사를 :(하지 않는 내가 할 무엇. 오류가 발생합니까?
아니요 'ContentProperty'로 가능하지 않다고 생각합니다 –
ContentProperty가 없어도 가능합니까? 나는 당신의 코멘트를 이해하지 못합니다. –