2011-05-25 71 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屬性。