当前位置:  开发笔记 > 编程语言 > 正文

WPF:正确地将对象存储在TreeViewItem中

如何解决《WPF:正确地将对象存储在TreeViewItem中》经验,为你挑选了1个好方法。

为了在TreeViewItem中存储一个对象(比如一个类的实例),我当前正在将该对象存储在TreeViewItems中Header,然后覆盖ToString该类的方法,以便它显示正确的字符串头; 然后我在活动期间将物体投回.


这是实现这种事情的正确方法,还是有更好,更正确的方法?



1> Kent Boogaar..:

"正确"的方法是只添加objectTreeView's(或TreeViewItem's)Items集合并使用a HierarchicalDataTemplate来控制项目的呈现方式:

Person.cs:

public class Person
{
    private readonly ICollection _children = new ObservableCollection();

    public string Name { get; set; }

    public ICollection Children
    {
        get
        {
            return _children;
        }
    }
}

Window1.xaml.cs:

public Window1()
{
    InitializeComponent();

    var people = new List();
    var kent = new Person() { Name = "Kent" };
    kent.Children.Add(new Person() { Name = "Tempany" });
    people.Add(kent);
    _treeView.ItemsSource = people;
}

Window1.xaml:


    
        
            
        
    

推荐阅读
农大军乐团_697
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有