0
我有一個4級樹形結構,定義如下:我可以自動將HierarchicalDataTemplate項目包裝到TreeViewItem中嗎?
<HierarchicalDataTemplate DataType="{x:Type src:Level1}" ItemsSource="{Binding Path=Level2Items}">
<TextBlock Text="{Binding Path=Level1Name}"/>
</HierarchicalDataTemplate>
<HierarchicalDataTemplate DataType="{x:Type src:Level2}" ItemsSource="{Binding Path=Level3Items}">
<TextBlock Text="{Binding Path=Level2Name}"/>
</HierarchicalDataTemplate>
<HierarchicalDataTemplate DataType="{x:Type src:Level3}" ItemsSource="{Binding Path=Level4Items}">
<TextBlock Text="{Binding Path=Level3Name}"/>
</HierarchicalDataTemplate>
<DataTemplate DataType="{x:Type src:Level4}">
<TextBlock Text="{Binding Path=Level4Name}"/>
</DataTemplate>
而且它的偉大工程。唯一的是,我不能以編程方式選擇任何綁定項,因爲它們不是TreeViewItem類型(因此沒有「IsSelected」屬性)。有沒有辦法自動包裝特定容器類型的數據綁定項目(在這種情況下:TreeViewItem)?
不幸的是,你的假設,即綁定物品會自動一個樹型視圖裏麪包裹是不是真的在我的情況(無論出於何種原因)。在TreeView的Items集合的第一個項目上調用GetType()將返回我的類型,而不是類型「TreeViewItem」。有什麼想法嗎?謝謝!! – Pwninstein 2009-02-27 15:34:12