使用标签wpf在树视图中显示多个类型

时间:2014-09-14 18:06:04

标签: wpf xaml

我试图在树视图中显示多种类型

我有包含工作空间的项目

Here is the image

展开项目时,可以看到工作区列表。

我尝试使用<TreeViewItem Header="My Projects" ItemSource="{Binding Projects}">,但“My Projects”正在成为根节点,Project1,Project2 ...成为其子节点。

此外,我在树视图中尝试了带有“我的项目”的标签,但可以根据需要进行显示。

所以最后我最后得到了一个项目树视图,然后是另一个工作区树视图。

是否可以在单个树视图中实现它?

1 个答案:

答案 0 :(得分:0)

尝试分别为HierarchicalDataTemplate类型和Project类型添加不同的Workspace,而不是直接在其中创建TreeViewItem

<TreeView ItemsSource="{Binding Projects}">
    <TreeView.Resources>
        <HierarchicalDataTemplate DataType="model:Project (Whatever type you are using for Project)" ItemsSource="{Binding Workspaces}">
            <TextBlock Text="{Binding Name}" />
        </HierarchicalDataTemplate>
        <HierarchicalDataTemplate DataType="model:Workspace (Whatever type you are using for Workspace)">
            <TextBlock Text="{Binding Name}" />
        </HierarchicalDataTemplate>
    </TreeView.Resources>
</TreeView>