从WPF Treeview存储SelectedItem和复合集合项目
问题描述:
我的应用程序中有一个WPF Treeview。在这里,我正在显示文件夹和文件。由于这些是不同的项目,我正在使用Composite Collection方法将项目绑定到树形视图,如this link中所建议的。从WPF Treeview存储SelectedItem和复合集合项目
现在,我需要从WPF Treeview存储SelectedItem。为此,我想在ViewModel中定义一个属性。但问题是,如果使用FolderItem类型定义属性,那么当我在Treeview中选择一个文件时,该属性不会被打中,反之亦然。
我需要一种方法来存储selecteditem,而不管它是文件夹还是文件。
任何帮助,高度赞赏。
问候, kvk938
答
您既可以更改的属性,以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; }