我的ViewModel看起来像这样:
public class DirectoryViewModel : ViewModelBase
{
public ObservableCollection<DirectoryViewModel> SubDirectoryList { get; set; }
public ObservableCollection<FileViewModel> FileList { get; set; }
public string Name { get; set; }
}
在每个目录下,可能都有它自己的文件以及子目录。如何使它的子目录和文件都显示在TreeView的同一级别上?
最佳答案
像这样更改类(class):
public class DirectoryViewModel : ViewModelBase
{
public ObservableCollection<ViewModelBase> ItemsInDirectory { get; set; }
public string Name { get; set; }
}
ViewModelBase
必须是DirectoryViewModel
和FileViewModel
的基类。将所有文件和目录放入ItemsInDirectory
集合中。然后为类
HierarchicalDataTemplates
创建2个DirectoryViewModel
,为FileViewModel
创建一个
关于wpf - 在WPF/Silverlight中使用HierarchicalDataTemplate的类似于文件系统的TreeView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8242020/