private void MyTree_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
if(e.ClickCount != 2)
return;
if(null!=this.MyTree.SelectedItem)
var curSel = this.MyTree.SelectedItem as MyTreeNode;
MessageBox.Show(curSel.name);
有时候我们需要在TreeView中实现这样的功能:
在TreeView上点击右键弹出菜单,同时鼠标点击处的TreeViewItem被选中,然后我们针对选中的数据进行处理。
不过,WPF的TreeView并没有提供右键单击选中的功能。我们需要自己去实现。
最基本的思路是,在TreeView右键点击的事件发生时,我们遍历它所有的Item,包括子Item,获取Item所对应的TreeViewItem控件的边界Rect,然后调用Rect的Contains方法判断鼠标是否在该范围内。(
目前项目收尾,开始对之前的,之前用的一个树节点的插件,只可以使用单击事件,无法使用双击事件,于是百度一下,自定义了一个双击事件,原理是通过两次时间差来定义,代码如下:
1 //最后一次触发节点Id
2 var lastSelectedNodeId = null;
3 //最...
TreeView单击展开其子元素:
在WPF的TreeView控件中,要想展开它的子元素,我们必须要鼠标左键点两下或者右键点一下,那么我们怎样实现左键点一下就使它展开呢?
Xaml:
<TreeView HorizontalAlignment="Left" Height="208" Margin="243,35,0,0" ...
项目中遇到一个需求,需要使用类似与button的click事件来完成一个点击动作,但是发现TreeviewItem没有click事件,查询文档后发现其实PreviewMouseUp事件可以实现这个需求,下面是代码:
private void treeviewEnergyAnalysis_PreviewMouseUp(object sender, MouseButtonEventArgs e)
最近有用到TreeView和ListView 双击Item事件,
如果在TreeView和ListView中加入鼠标双击事件,点击TreeView和ListView中的空白的地方 也可以触发事件,明显不符合要求
,后来经过一番百度和验证
现修改如下:
TreeView双击事件中
private void OnTreeViewDoubleClick(object sender, MouseButtonEventArgs e)
if (send...
---childNode1
---childNode2
当parentNode2收起的时候,双击parentNode2,节点会自动展开,并且NodeMouseDouble...
private void treeView1_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e)
if (e.Node.Name == "添加项目")
WPF中对树控件的使用主要有两种方法, 方法一,对TreeView进行静态搭建,对应的XAML文件代码如下:
<Window x:Class="TreeView.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.
今天想做一个文件浏览器,想把选中项的信息提取出来,就自然而然的想到用treeview,但是当给每个treeviewitem添加selected事件后,当你选中的是儿子结点的时候,父亲节点的selected也会触发。
//xmal代码
<TreeView Grid.Row="3" Grid.Column="0" >
<TreeViewItem Header="父亲" Selected="TreeViewItem_Selected">
此问题原因是 双击或者单机事件中 使用了as 树形结构节点的类型 然后没有return报错了
具体原因是 as 树形结构节点的类型是空值 后面代码又使用了该转换类型 ,可以做一下判断为null直接返回即可
仅此记录,便于追溯
如何在C#的TreeView控件中双击节点而不改变节点的展开/折叠状态2008-06-11 16:07如何在C#的TreeView控件中双击节点而不改变节点的展开/折叠状态作者:温暖的芋头 2007-08-21 11:19:33标签: 这是C#的一个漏洞,Microsoft在TreeView控件中自作主张地做成双击节点时