2011-05-25 97 views
0

我困在当前应用程序中的wpf treeview控件的问题上。我正在为我的学校构建一个像应用程序(编辑器和项目树)的视觉工作室。带有多个项目源的WPF TreeView

现在我有问题,我无法在我的树视图中显示此结构。

我想有以下结构:

+ Project 
    - Folder 
    -- Folder 
    -- File 
    - Folder 
    - File 

+ Project 
... 

我已经尝试了很多事情,我发现在互联网,但他们没有一个人确实工作..

谢谢您的帮助。

+2

你将不得不给我们更多的信息。你的数据看起来像什么(你的类的结构等)?你有什么尝试?为什么它不工作?帮助我们帮助你。 – Tim 2011-05-25 14:06:36

回答

0

你必须在这里使用一个DataTemplateSelector,看到的例子:

​​

2

你试过HierarchicalDataTemplate? 你可以在这里找到解决方案:http://www.codeproject.com/KB/WPF/TreeViewWithViewModel.aspx

+1

是的,但是这只允许我设置一个项目源。 – kellerm 2011-05-25 14:37:10

+2

@ user769688:您误解了'HierarchicalDataTemplate'。 'TreeView'的items-source应该是'Project'的集合。每个'Project'对象都应该有'Folder'和'File'对象的集合(每个'Folder'对象都应该是这样)。对象应该已经嵌套在树中,“TreeView”和“HierarchicalDataTemplate”只是将其可视化。 – 2011-05-25 14:56:59

1

既然你总是提到你需要多个ItemsSources我觉得你的问题是,你的项目对象有两个类别:文件&文件夹,你不知道如何把他们两个到HierarchicalDataTemplate的ItemsSource。

解决方案是CompositeCollection。请注意,如果使用XAML构造它,则在CollectionContainers内不会有DataContext,因此您无法轻松绑定Collection属性。