Data binding and dynamic addition of data in TreeView control in WPF.

You can achieve data binding and dynamically adding data to the TreeView control in WPF by following these steps:

  1. Define the TreeView control in XAML.
<TreeView x:Name="MyTreeView" ItemsSource="{Binding TreeData}">
    <TreeView.ItemTemplate>
        <HierarchicalDataTemplate ItemsSource="{Binding Children}">
            <TextBlock Text="{Binding Name}" />
        </HierarchicalDataTemplate>
    </TreeView.ItemTemplate>
</TreeView>
  1. Define data model and data source in the backend code.
public class TreeNode
{
    public string Name { get; set; }
    public ObservableCollection<TreeNode> Children { get; set; }
}

public class ViewModel
{
    public ObservableCollection<TreeNode> TreeData { get; set; }

    public ViewModel()
    {
        // 初始化数据源
        TreeData = new ObservableCollection<TreeNode>
        {
            new TreeNode
            {
                Name = "Parent 1",
                Children = new ObservableCollection<TreeNode>
                {
                    new TreeNode { Name = "Child 1" },
                    new TreeNode { Name = "Child 2" }
                }
            },
            new TreeNode
            {
                Name = "Parent 2",
                Children = new ObservableCollection<TreeNode>
                {
                    new TreeNode { Name = "Child 3" },
                    new TreeNode { Name = "Child 4" }
                }
            }
        };
    }
}
  1. Set the data context in the constructor of the window or page and dynamically add data.
public MainWindow()
{
    InitializeComponent();

    // 设置数据上下文
    DataContext = new ViewModel();

    // 动态添加数据
    TreeNode newNode = new TreeNode { Name = "New Node" };
    ((ViewModel)DataContext).TreeData.Add(newNode);
}

By following the above steps, the TreeView control can achieve data binding and dynamically add data in the background.

bannerAds