【问题标题】:Storing SelectedItem from WPF Treeview with composite collection items使用复合集合项从 WPF Treeview 存储 SelectedItem
【发布时间】:2017-10-11 07:34:02
【问题描述】:

我的应用程序中有一个 WPF 树视图。在此,我将显示文件夹和文件。由于这些是不同的项目,我使用 Composite Collection 方法将项目绑定到树视图,如 this link 中所建议的那样。

现在,我需要存储 WPF Treeview 中的 SelectedItem。为此,我想在 ViewModel 中定义一个属性。但是,问题是如果定义了 FolderItem 类型的属性,那么当我在 Treeview 中选择一个文件时,这个属性不会被命中,反之亦然。

我需要一种方法来存储所选项目,无论它是文件夹还是文件。

非常感谢任何帮助。

问候, kvk938

【问题讨论】:

    标签: wpf data-binding treeview


    【解决方案1】:

    您可以将属性的类型更改为 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; }
    

    【讨论】:

      猜你喜欢
      • 2011-11-01
      • 2013-09-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-17
      • 1970-01-01
      • 1970-01-01
      • 2011-09-12
      相关资源
      最近更新 更多