zoukankan      html  css  js  c++  java
  • WPF TrreView 递归绑定数据源

    效果如图

    数据结构

    public class DisplayViewModel
    {
        public string Name { get; set; }
        public List<DisplayViewModel> Children { get; set; }
    }
    

    前端TreeView通过ItemTemplate为其子级设置样式

    <TreeView x:Name="treeView">
        <TreeView.ItemTemplate>
            <HierarchicalDataTemplate ItemsSource="{Binding Children}">
                <StackPanel>
                    <TextBlock VerticalAlignment="Center" FontSize="18" Text="{Binding Name}" Margin="2,0,0,0"></TextBlock>
                </StackPanel>
            </HierarchicalDataTemplate>
        </TreeView.ItemTemplate>
    </TreeView>
    

    设置数据源

    List<DisplayViewModel> vm = new List<DisplayViewModel>();
    DisplayViewModel oneData = new DisplayViewModel() { Name="1", Children=new List<DisplayViewModel>()};
    oneData.Children.Add(new DisplayViewModel() { Name = "1-1", Children = new List<DisplayViewModel>()
        {
            new DisplayViewModel(){Name="1-1-1",Children=new List<DisplayViewModel>()}
        } 
    });
    oneData.Children.Add(new DisplayViewModel()
    {
        Name = "1-2",
        Children = new List<DisplayViewModel>()
        {
            new DisplayViewModel(){Name="1-2-1",Children=new List<DisplayViewModel>()
                {
                    new DisplayViewModel(){Name="1-2-1-2",Children=new List<DisplayViewModel>()}
                } 
            }
        }
    });
    vm.Add(oneData);
    vm.Add(new DisplayViewModel() { Name = "2", Children = new List<DisplayViewModel>() });
    treeView.ItemsSource = vm;
    

    示例代码

    示例代码

    参考资料

    WPF下递归生成树形数据绑定到TreeView上

  • 相关阅读:
    输出重定向
    echo带颜色输出
    shell学习视频目录
    css盒模型
    jQuery表格模糊搜索
    mysql基础语法3
    mysql基础语法2
    mysql基础语法1
    pyspider框架的使用
    quill富文本框图片上传重写
  • 原文地址:https://www.cnblogs.com/Lulus/p/13878343.html
Copyright © 2011-2022 走看看