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

C# WPF上位机开发(树形控件在地图软件中的应用)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

        前面我们聊过图形软件的开发方法。实际上,对于绘制的图形,我们一般还会用树形控件管理一下。举个例子,一个地图当中可能有很多的组件。比如说点、线、圆形、长方形、图片等等。每一个图形都有自己特定的含义,这个时候,如果可以用树型控件来管理就非常的方便。

        比如说,我们在左边选择图形的时候,canvas显示图形同时高亮,右边也会一起显示当前图形可以操作的各种属性配置。这都是gui编辑工具的常用操作。

1、xaml文件中增加图形设计

        xaml文件中添加控件比较简单。主要的控件就是TreeView和TreeViewItem。其中TreeView相当于整棵树,TreeViewItem相当于叶子节点。当然,如果显示的层级比较多,那么TreeViewItem可以嵌套TreeViewItem。

<Window x:Class="WpfApp.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft.com/expression/blend/2008"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"xmlns:local="clr-namespace:WpfApp"mc:Ignorable="d"Title="MainWindow" Height="450" Width="800"><Grid><TreeView Name="treeView" Margin="10"><!-- 添加树节点 --><TreeViewItem Header="Map"><TreeViewItem Header="point"><TreeViewItem Header="point1"/><TreeViewItem Header="point2"/><TreeViewItem Header="point3"/></TreeViewItem><TreeViewItem Header="line"><TreeViewItem Header="line1"/><TreeViewItem Header="line2"/></TreeViewItem><TreeViewItem Header="circle"><TreeViewItem Header="circle1"/><TreeViewItem Header="circle2"/></TreeViewItem><TreeViewItem Header="rectangle"><TreeViewItem Header="rectangle1"/><TreeViewItem Header="rectangle2"/></TreeViewItem><TreeViewItem Header="picture"><TreeViewItem Header="picture1"/><TreeViewItem Header="picture2"/></TreeViewItem></TreeViewItem></TreeView></Grid>
</Window>

2、代码中动态添加叶子节点

        除了在xaml文件中静态添加TreeViewItem之外,还可以通过代码编写的方法,动态添加TreeViewItem。添加的方法也不复杂,只需要在TreeViewItem生成之后,添加到treeView变量下面就可以了。

        public MainWindow(){InitializeComponent();// init node hereTreeViewItem newNode = new TreeViewItem();newNode.Header = "New Node";treeView.Items.Add(newNode);}

http://www.lryc.cn/news/262743.html

相关文章:

  • 【华为】文档中命令行约定格式规范(命令行格式规范、命令行行为规范、命令行参数格式、命令行规范)
  • Trie 字典树(c++)(前缀)
  • 全球移动通信(2G/3G/4G/5G)频谱分布情况
  • 【04】GeoScene导出海图或者电子航道图000数据成果
  • 安卓端出现https请求失败(转)
  • appium2.0.1安装完整教程+uiautomator2安装教程
  • Hbase的Rowkey设计
  • 软考机考考试第一批经验分享
  • 架构简洁之道有感,谈谈软件组件聚合的张力
  • 计算机网络 网络层上 | IP数据报,IP地址,ICMP,ARP等
  • 金智融门户(统一身份认证)同步数据至钉钉通讯录
  • 服务器RAID配置及功能介绍
  • vue + element 实现鼠标左右滑动效果
  • gitlab 安装
  • idea中定时+多数据源配置
  • Python---多任务的介绍
  • Kubernetes 的用法和解析 -- 4
  • 【fabrc.js】 操作鼠标自由绘制图形:矩形、圆形、直线等图形【画图功能】
  • WPF 显示PDF、PDF转成图片
  • CODESYS的Robotics_PickAndPlace_without_Depictor例程解释
  • 通过全流量分析Web业务性能好坏
  • 【C语言】自定义类型——枚举、联合体
  • 大模型自定义算子优化方案学习笔记:CUDA算子定义、算子编译、正反向梯度实现
  • 【密码学基础】Diffie-Hellman密钥交换协议
  • 最新AI绘画Midjourney绘画提示词Prompt教程
  • AI助力DevOps新时代
  • Spring之容器:IOC(2)
  • Spring 依赖查找知识点总结
  • html5新增特性
  • 4、APScheduler: 详解Scheduler种类用法、常见错误与解决方法【Python3测试任务管理总结】