0
的循環依賴我想用一個HierarchicalDataTemplate與DataTemplateSelector但我得到的麻煩與秩序: 向前聲明來解決的DataTemplate
<UserControl.Resources>
<HierarchicalDataTemplate x:Key="TemplateA"
ItemsSource="{Binding AnySource}"
ItemTemplateSelector="{StaticResource MyTemplateSelector}" >
<Label Content="A" />
</HierarchicalDataTemplate>
<DataTemplate x:Key="TemplateB">
<Label Content="B" />
</DataTemplate>
<viewmodel:MyTemplateSelector
TemplateA="{StaticResource TemplateA}"
TemplateB="{StaticResource TemplateB}"
x:Key="MyTemplateSelector" />
<HierarchicalDataTemplate x:Key="TemplateC"
ItemsSource="{Binding AnotherSource}"
ItemTemplateSelector="{StaticResource MyTemplateSelector}">
<Label Content="C" />
</HierarchicalDataTemplate>
</UserControl.Resources>
<Grid>
<TreeView
ItemsSource="{Binding Source={StaticResource SomeList}}"
ItemTemplate="{StaticResource TemplateC}"/>
</Grid>
MyTemplateSelector取決於TemplateA和TemplateA取決於MyTemplateSelector。運行時出現System.Windows.Markup.XamlParseException。在XAML中有前向聲明的方法還是有不同的解決方案?
解決方案: 我已經找到了解決辦法:我並不需要,因爲它是在父的DataTemplate設置來設置TemplateSelector在TemplateA。有時候可以這麼簡單...
必須有一些更好的方法來做你正在做的事情......你可以分享你的應用模板的位置以及你想要綁定的數據結構是什麼? – Nitin
我已經添加了一些信息,但我認爲他們沒有幫助。要綁定的數據結構很複雜,以簡單的方式顯示在這裏,但我知道:我需要DataTemplateSelector。 – user37337