当前位置: 首页 > article >正文

wpf devexpress在未束缚模式中生成Tree

TreeListControl 可以在未束缚模式中没有数据源时操作,这个教程示范如何在没有数据源时创建tree

在XAML生成tree

创建ProjectObject类实现数据对象显示在TreeListControl:

public class ProjectObject {
    public string Name { get; set; }
    public string Executor { get; set; }
}

添加TreeListControl到窗口。调用TreeListControl Quick Action和添加两行

绑定行到Name和Executor字段:

<dxg:TreeListControl Name="treeListControl1">
    <dxg:TreeListControl.Columns>
        <dxg:TreeListColumn FieldName="Name"/>
        <dxg:TreeListColumn FieldName="Executor"/>
    </dxg:TreeListControl.Columns>
</dxg:TreeListControl>

切换到XAML视图。定义TreeListControl视图:

<dxg:TreeListControl Name="treeListControl1">
    <dxg:TreeListControl.Columns>
        <dxg:TreeListColumn FieldName="Name"/>
        <dxg:TreeListColumn FieldName="Executor"/>
    </dxg:TreeListControl.Columns>
    <dxg:TreeListControl.View>
        <dxg:TreeListView Name="treeListView1"/>
    </dxg:TreeListControl.View>
</dxg:TreeListControl>

创建根和子节点。TreeListControl存储根和子节点在TreeListView.Nodes和TreeListNode.Nodes集合中:

<dxg:TreeListControl.View>
    <dxg:TreeListView Name="treeListView1">
        <dxg:TreeListView.Nodes>
            <dxg:TreeListNode>
                <dxg:TreeListNode.Content>
                    <local:ProjectObject Name="Project: Betaron" Executor="Destiny Tabisola" />
                </dxg:TreeListNode.Content>
                <dxg:TreeListNode.Nodes>
                    <dxg:TreeListNode>
                        <dxg:TreeListNode.Content>
                            <local:ProjectObject Name="Development" Executor="Kairra Hogg" />
                        </dxg:TreeListNode.Content>
                        <dxg:TreeListNode.Nodes>
                            <dxg:TreeListNode>
                                <dxg:TreeListNode.Content>
                                    <local:ProjectObject Name="Coding" Executor="Sabato Durley" />
                                </dxg:TreeListNode.Content>
                            </dxg:TreeListNode>
                        </dxg:TreeListNode.Nodes>
                    </dxg:TreeListNode>
                </dxg:TreeListNode.Nodes>
            </dxg:TreeListNode>
        </dxg:TreeListView.Nodes>
    </dxg:TreeListView>
</dxg:TreeListControl.View>

在代码中生成tree

创建ProjectObject类实现数据对象显示在TreeListControl:

public class ProjectObject {
    public string Name { get; set; }
    public string Executor { get; set; }
}

添加TreeListControl到window控件

创建两行和绑定Name和Executor字段:
 

<dxg:TreeListControl Name="treeListControl1">
    <dxg:TreeListControl.Columns>
        <dxg:TreeListColumn FieldName="Name"/>
        <dxg:TreeListColumn FieldName="Executor"/>
    </dxg:TreeListControl.Columns>
    <dxg:TreeListControl.View>
        <dxg:TreeListView Name="treeListView1"/>
    </dxg:TreeListControl.View>
</dxg:TreeListControl>

在代码中创建根和子节点:
 

using DevExpress.Xpf.Grid;

// ...
public partial class MainWindow : Window {
    public MainWindow() {
        InitializeComponent();
        BuildTree();
    }

    void BuildTree() {
        TreeListNode rootNode = CreateRootNode(new ProjectObject() { Name = "Project: Stanton", Executor = "Nicholas Llams" });
        TreeListNode childNode = CreateChildNode(rootNode, new ProjectObject() { Name = "Information Gathering", Executor = "Ankie Galva" });
        CreateChildNode(childNode, new ProjectObject() { Name = "Design", Executor = "Reardon Felton" });
    }

    TreeListNode CreateRootNode(object dataObject) {
        TreeListNode rootNode = new TreeListNode(dataObject);
        treeListView1.Nodes.Add(rootNode);
        return rootNode;
    }

    TreeListNode CreateChildNode(TreeListNode parentNode, object dataObject) {
        TreeListNode childNode = new TreeListNode(dataObject);
        parentNode.Nodes.Add(childNode);
        return childNode;
    }
}


http://www.kler.cn/news/133662.html

相关文章:

  • IDEA写mybatis程序,java.io.IOException:Could not find resource mybatis-config.xml
  • 单元测试实战(六)其它
  • 【HarmonyOS开发】设备调试避坑指南
  • 三十一、W5100S/W5500+RP2040树莓派Pico<TCP_Server多路socket>
  • 别再吐槽大学教材了,来看看这些网友强推的数学神作!
  • 【我和Python算法的初相遇】——体验递归的可视化篇
  • SQL note2:DIsks and Files
  • linux如何一键自动安装系统(PXE)
  • 03_面向对象高级_多态
  • C++11的互斥包装器
  • 怎样助力IT运维团队更专业、更协作、更高效
  • 详解如何使用Jenkins一键打包部署SpringBoot项目
  • 华媒舍:怎样成为谷歌竞价排名羸家?10个方法
  • HIT 模式识别 手写汉字分类 Python实现
  • 038、语义分割
  • C++--哈希表--散列--冲突--哈希闭散列模拟实现
  • LintCode 1394 · Goat Latin (字符串处理题)
  • NET8 ORM 使用AOT SqlSugar
  • RabbitMQ-高级篇-黑马程序员
  • jsp中使用PDF.js实现pdf文件的预览
  • php mysql 如何处理查询中存在正则特殊字符的查询
  • Element-UI el-select下拉框多选实现全选
  • 生命在于学习——主板跳线的学习
  • OPPO发布AndesGPT大模型;Emu Video和Emu Edit的新突破
  • 正则表达式去掉代码末尾的数字
  • Hive默认分割符、存储格式与数据压缩
  • Linux环境的Windows子系统
  • C语言基础篇4:变量、存储、库函数
  • 【Seata源码学习 】篇三 seata客户端全局事务开启、提交与回滚
  • 【hive-解决】HiveAccessControlException Permission denied: CREATEFUNCTION