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

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.dtcms.com/a/4362.html

相关文章:

  • Python-正则表达式使用
  • Docker命令 常用中间件运维部署,方便构建自己服务
  • 多态语法详解
  • “移动机器人课程群实践创新的困境与突围”素材
  • ArkTS - HarmonyOS服务卡片(创建)
  • 精密云工程:智能激活业务速率 ——华为云11.11联合大促倒计时 仅剩3日
  • 2023年中职“网络安全“—Web 渗透测试②
  • mac上配置maven
  • 计算机网络的性能指标
  • OpenAI内斗剧情反转!微软力保ChatGPT之父回归?
  • 手写消息队列(基于RabbitMQ)
  • 产品运营的场景和运营策略
  • Golang环境搭建Win10(简洁版)
  • Git精讲
  • 解决网络编程中的EOF违反协议问题:requests库与SSL错误案例分析
  • redission源码解读
  • STM32/N32G455国民科技芯片驱动DS1302时钟---笔记
  • vue 鼠标移入移出事件执行多次(尤其ie)
  • 【面试经典150 | 算术平方根】
  • react+video.js h5自定义视频暂停图标
  • 【canvas】了解canvas,并实现会议预定记录钟表盘、页面水印
  • (二)Pytorch快速搭建神经网络模型实现气温预测回归(代码+详细注解)
  • devops底层是怎么实现的
  • IOS 关于CoreText的笔记
  • flink 查看写入starrocks的数据量 总行数
  • Pytorch 网络冻结的三种方法区别:detach、requires_grad、with_no_grad
  • Androidstudio中build.gradle classpath如何添加
  • ARTS 打卡第一周
  • QT小记:警告Use multi-arg instead
  • vue3 + ts项目(无vite)报错记录