WPF TreeView
1.TreeView选择事件执行两次
Very often, we need to execute some code in SelectedItemChanged
depending on the selected TreeViewItem
. But SelectedItemChanged
is called twice. This is due to stealing focus from the main window, which is screwing something up.
What we have to do to avoid this is simply delay the call to our code, i.e., MyFunction()
which we need to execute in SelectedItemChanged
. Here's a workaround which delays the call to open the new window until the item selection code finishes up:
private delegate void NoArgDelegate(); void Window1_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs<object> e) { Dispatcher.BeginInvoke(DispatcherPriority.Background, (NoArgDelegate)delegate { MyFunction(); }); }
2.Treeview获取父节点
private void treeView1_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs<object> e) { //节点(是子节点或者是根节点) TreeViewItem item = treeView1.SelectedItem as TreeViewItem; //获取父节点 TreeViewItem parent = item.Parent as TreeViewItem; //判断父节点是否存在 if (parent != null) { //显示父节点信息,这里显示 Header 信息 MessageBox.Show("父节点的Header:" + parent.Header.ToString()); } else { MessageBox.Show("没有父节点!"); } }
3、使用HiberDataTemplate填充TreeView
4、表格格式的TreeView
分类:
前台-WPF/WinForm
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!