是的,你應該可以通過HeirarchicalDataTemplates
來實現。
您可以爲ParentCluster,ChildCluster創建一個HeirarchicalDataTemplates
,然後對問題使用正常的DataTemplate
。
<HierarchicalDataTemplate DataType="{x:Type ParentClusterViewModel}" ItemsSource="{Binding ChildItems}">
<ParentClusterView />
</HierarchicalDataTemplate>
<HierarchicalDataTemplate DataType="{x:Type ChildClusterViewModel}" ItemsSource="{Binding ChildItems}">
<ChildClusterView />
</HierarchicalDataTemplate>
如果再有一個基類「TreeItemBase」你的所有樹的ViewModels繼承,那麼你就可以做你想做的。
public abstract class TreeItemBase
{
public List<TreeItemBase> ChildItems { get; set; }
}
public class ParentClusterViewModel : TreeItemBase { ... }
public class ChildClusterViewModel : TreeItemBase { ... }
public class QuestionViewModel : TreeItemBase { ... }
問題是,父CLuster也可以包含問題項目,甚至子集羣可以包含子集羣和問題項目。這裏的問題是一個羣集可以包含子羣集列表以及問題項目列表。 – Chinjoo 2011-05-18 07:59:00
更新我的答案,希望這應該適合你。 – 2011-05-18 09:25:57
嗨..謝謝..我已經有了這個想法..提供的答案 – Chinjoo 2011-05-18 09:44:06