当前位置: 首页 > 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;
    }
}

相关文章:

  • 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自定义视频暂停图标
  • 鄂州交警通报致1死2伤车祸:女子操作不当引发,已被刑拘
  • “老中青少”四代同堂,季春艳携锡剧《玲珑女》冲击梅花奖
  • 国际能源署:全球电动汽车市场强劲增长,中国市场继续领跑
  • 兰州大学教授安成邦加盟复旦大学中国历史地理研究所
  • 中国科考船在钓鱼岛附近活动,外交部:完全是中国主权权利范围内的事
  • 27岁杨阳拟任苏木镇党委副职,系2020年内蒙古自治区选调生