社区
C#
帖子详情
wpf使用treeview怎么建立目录文件夹形式的结构?
博客园铁粉
2014-10-23 05:45:45
如题,需求是这样的:treeview最多只需要两种节点,父节点相当于文件夹(可以有多个父节点,即多个文件夹),每个父节点下可以有多个子节点(子节点相当于在文件夹中存储的内容)。
然后,功能是这样的:可以新建文件夹;可以删除任意子节点和父节点;点击任意子节点后可以变更子节点所在的文件夹,即把选中子节点变更到以图中第二个textbox中内容为名称的文件夹。
...全文
474
5
打赏
收藏
wpf使用treeview怎么建立目录文件夹形式的结构?
如题,需求是这样的:treeview最多只需要两种节点,父节点相当于文件夹(可以有多个父节点,即多个文件夹),每个父节点下可以有多个子节点(子节点相当于在文件夹中存储的内容)。 然后,功能是这样的:可以新建文件夹;可以删除任意子节点和父节点;点击任意子节点后可以变更子节点所在的文件夹,即把选中子节点变更到以图中第二个textbox中内容为名称的文件夹。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
daxiang_2678047067
2014-10-25
打赏
举报
回复
treeview建立节点添加、修改、删除界面示例 protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { //调用自定义方法绑定版面信息 BindPageData(); } //为删除按钮添加确认对话框 btnDelete.Attributes.Add("onclick", "return confirm('你确定要删除所选择的版面吗?');"); } //自定义方法BindPageData(),获取论坛版面信息 private void BindPageData() { //实例化公共类Board Board board = new Board(); //调用该类中的CreateHiberarchyTree方法获取TreeView控件中的数据 board.CreateHiberarchyTree(tvBoard, false, false); }//codego.net/tags/1/1/ //自定义DeleteBoard(int boardID)方法删除指定ID值的版面 private void DeleteBoard(int boardID) { if (tvBoard.SelectedNode.ChildNodes.Count > 0) { Dialog.OpenDialog(Response, "要删除的结点包含孩子结点,不能删除,请重新选择结点。"); return; } ///执行删除操作 Board board = new Board(); board.DeleteBoard(boardID); ///重新绑定版面的数据 BindPageData(); } protected void OperationBtn_Command(object sender, CommandEventArgs e) { if (string.IsNullOrEmpty(e.CommandName) == true) return; if (tvBoard.SelectedNode == null) { Dialog.OpenDialog(Response, "请选择操作的节点。"); return; } switch (e.CommandName.ToLower()) { case "add"://添加版面 { Server.Transfer("~/Admin/AddBoard.aspx?BoardID=" + tvBoard.SelectedNode.Value); break; } case "update":// 修改版面 { Server.Transfer("~/Admin/UpdateBoard.aspx?BoardID=" + tvBoard.SelectedNode.Value); break; } case "title": //管理版面帖子 { Server.Transfer("~/Admin/AdminTitleManage.aspx?BoardID=" + tvBoard.SelectedNode.Value); break; } case "delete":// 删除版面 { DeleteBoard(DataTypeConvert.ConvertToInt(tvBoard.SelectedNode.Value)); break; } default: break; } }
exception92
2014-10-24
打赏
举报
回复
提供个思路,使用ObservableCollection 储存你的节点信息,至于你的节点类,可以定义包含 同级上节点,同级下节点,和该节点下的子节点集合(也是ObservableCollection集合);绑定的时候使用HierarchicalDataTemplate 嵌套 节点深度,加载显示; 至于你的变更,选中节点后(也就是获取类对象) ,直接更改它的父节点,再重新加载数据。
E次奥
2014-10-24
打赏
举报
回复
就是简单的递归显示啊,点击判断当前项是集合还是文件,集合展开,文件打开,修改玩保存;
於黾
2014-10-24
打赏
举报
回复
引用 2 楼 wangye380 的回复:
删完,重新绑定,刷新。 改完,重新绑定,刷新。
这是最简单的方法, 不要纠结怎么不改动整个结构,而只对某一个节点操作, 1.很麻烦 2.没必要
埋头苦练
2014-10-24
打赏
举报
回复
删完,重新绑定,刷新。 改完,重新绑定,刷新。
WPF
上位机通用框架实战
课程从上位机应用基础架构出发,全程代码实战,涉及内容包括串口通信、基础组件开发、用户控件动画、全局静态数据绑定等等。从无到有,完整实操,项目整体以MVVM思想模式设计开发,代码功能
使用
分层
结构
,逻辑与View解耦。通过此课程可以让大家了解到基本的串口通信方式,以及如何利用
WPF
的特性开发上位机应用,对
WPF
配合上位机开发有更深入的了解与认识,为
WPF
技术平台下的上位机应用开发打下坚实基础
WPF
的
TreeView
与CheckBox结合,父节点和子节点相互影响
这个例子折腾了我好几天,今天终于搞定了,由于太晚了,就不说过程,只看结果和代码。1、遍历
文件夹
:在这个例子中,CheckBox显示三种状态,另外父节点选中,子节点全选,父节点不选,子节点全不选;子节点部分选,父节点null状态;子节点全选,父节点选中状态;子节点全不选,父节点不选状态。这个例子适合遍历。接下来看代码(这个代码的例子忘记了是哪个大神写的,下次找到后附链接加感谢):class Dire...
C#
treeview
递归获取文件的层级
结构
treeview
递归获取文件的层级
结构
主要涉及三个类 TreeClass.cs 1.在讲述如何获取文件层级
结构
之前先弄明白对象,类,实例化的区别及联系 涉及到的知识点:泛型、递归、数据
结构
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace diguiTree.TreeHelp///注意这个类有自己的命名空
c语言 递归树形菜单,
WPF
树形菜单--递归与非递归遍历生成树
结构
的集合
一、新建了
WPF
项目作为测试,
使用
TreeView
控件进行界面展示。第一步创建实体类TreeEntity:public class TreeEntity{private int _mid;private string _title;private int _pid;private List _childrens=new List();/// /// 项ID/// public int Mid{ge...
TreeView
绑定到深度未知的数据源
有时您可能需要将
TreeView
绑定到深度未知的数据源。 如果数据具有递归性质,则可能会发生这种情况;文件系统或公司的组织
结构
就属于这种数据,在文件系统中,
文件夹
还可以包含
文件夹
,在公司的组织
结构
中,员工又有自己的直属员工。 数据源必须有分层的对象模型。 例如,一个 Employee 类可能包含一个由 Employee 对象组成的集合,其中的每个对象都是一位员工的直属...
C#
110,539
社区成员
642,577
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章