WPF DataBound TreeView развернуть / свернуть

Я просто пытаюсь найти способ контролировать расширение / развалTreeView узлы через объект, который онисвязаны с. Объект имеетIsExpanded собственности, и я хочу использовать это, чтобы показатьTreeView Сам узел разворачивается или разворачивается на основе этого свойства.

Вот'мой код:

C #:

public partial class Window2 : Window
{
    public Window2()
    {
        InitializeComponent();

        this.DataContext = new List() { Base.GetParent("Parent 1"), Base.GetParent("Parent 2") };
    }
}

public class Base
{
    public string Name { get; set; }
    public bool IsExpanded { get; set; }

    public static Parent GetParent(string name)
    {
        Parent p = new Parent() { Name = name };

        p.Children.Add(new Child() { Name = "Child 1", GrandChildren = new ObservableCollection() { new GrandChild() { Name = "Grandchild 1" } } });
        p.Children.Add(new Child() { Name = "Child 2", GrandChildren = new ObservableCollection() { new GrandChild() { Name = "Grandchild 1" } } });
        p.Children.Add(new Child() { Name = "Child 3", GrandChildren = new ObservableCollection() { new GrandChild() { Name = "Grandchild 1" } } });

        return p;
    }
}

public class Parent : Base
{
    public ObservableCollection Children { get; set; }

    public Parent()
    {
        this.Children = new ObservableCollection();
    }
}

public class Child : Base
{
    public ObservableCollection GrandChildren { get; set; }

    public Child()
    {
        this.GrandChildren = new ObservableCollection();
    }
}

public class GrandChild : Base
{
}

XAML:


    
        
            
            
                
                    
                    
                        
                            
                        
                    
                
            
        
    
    
        
    

Ответы на вопрос(2)

Ваш ответ на вопрос