2017-10-11 46 views
0

我的應用程序中有一個WPF Treeview。在這裏,我正在顯示文件夾和文件。由於這些是不同的項目,我正在使用Composite Collection方法將項目綁定到樹形視圖,如this link中所建議的。從WPF Treeview存儲SelectedItem和複合集合項目

現在,我需要從WPF Treeview存儲SelectedItem。爲此,我想在ViewModel中定義一個屬性。但問題是,如果使用FolderItem類型定義屬性,那麼當我在Treeview中選擇一個文件時,該屬性不會被打中,反之亦然。

我需要一種方法來存儲selecteditem,而不管它是文件夾還是文件。

任何幫助,高度讚賞。

問候, kvk938

回答

0

您既可以更改的屬性,以object類型或類型,無論您FolderItem類,並從File繼承(或實現,如果它是一個接口類型):

public interface IItem 
{ 
    string Name { get; } 
} 

public class FolderItem : IItem 
{ 
    public string Name { get; set; } 
    public List<File> Files { get; set; } 
} 

public class File : IItem 
{ 
    public string Name { get; set; } 
} 

視圖模型:

public IItem SelectedItem { get; set; }