WPFのTreeViewコントロールにデータをバインドし、バックエンドでデータを動的に追加する。

WPFのTreeViewコントロールでのデータバインディングとバックエンドでの動的データ追加は、次の手順で実現できます:

  1. XAMLでTreeViewコントロールを定義する:
<TreeView x:Name="MyTreeView" ItemsSource="{Binding TreeData}">
    <TreeView.ItemTemplate>
        <HierarchicalDataTemplate ItemsSource="{Binding Children}">
            <TextBlock Text="{Binding Name}" />
        </HierarchicalDataTemplate>
    </TreeView.ItemTemplate>
</TreeView>
  1. 後手のコードでデータモデルとデータソースを定義する。
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. 窗口やページの構築関数でデータコンテキストを設定し、データを動的に追加する:
public MainWindow()
{
    InitializeComponent();

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

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

上記の手順を経ることで、TreeViewコントロールはデータバインディングが可能になり、さらにバックエンドで動的にデータを追加することができます。

bannerAds