WPF TreeviewItem Click 事件

[转载]WPF TreeviewItem Click 事件

标签:              C#WPFTreeviewItemClickPreviewMouseUp

.embody { padding: 10px 10px 10px; margin: 0 -20px; border-bottom: solid 1px #ededed }
.embody_b { margin: 0; padding: 10px 0 }
.embody .embody_t,.embody .embody_c { display: inline-block; margin-right: 10px }
.embody_t { font-size: 12px; color: #999 }
.embody_c { font-size: 12px }
.embody_c img,.embody_c em { display: inline-block; vertical-align: middle }
.embody_c img { width: 30px; height: 30px }
.embody_c em { margin: 0 20px 0 10px; color: #333; font-style: normal }

分类:

WPF(9)

转载自:http://blog.csdn.net/zhumingyan/article/details/51104585?locationNum=5&fps=1

项目中遇到一个需求,需要使用类似与button的click事件来完成一个点击动作,但是发现TreeviewItem没有click事件,查询文档后发现其实PreviewMouseUp事件可以实现这个需求,下面是代码:

private void treeviewEnergyAnalysis_PreviewMouseUp(object sender, MouseButtonEventArgs e)
        {
            if (treeviewEnergyAnalysis.SelectedItem != null)
            {
                TreeNodeHierarchical selectedTnh = treeviewEnergyAnalysis.SelectedItem as TreeNodeHierarchical;
                if (selectedTnh.Tag.GetType().Name.Equals("dp_current"))//如果选的是数据点,而不是文件夹
                {
                    selectedTnh.IsChecked = !selectedTnh.isChecked;
                }
            }
        }

时间: 2024-08-04 09:10:51

WPF TreeviewItem Click 事件的相关文章

WPF中的事件列表 .

以下是WPF中的常见事件汇总表(按字母排序),翻译不见得准确,但希望对你有用. 事件 描述 Annotation.AnchorChanged 新增.移除或修改 Anchor 元素时发生. Annotation.AuthorChanged 新增.移除或修改 Author 元素时发生. Annotation.CargoChanged 新增.移除或修改 Cargo 元素时发生. AnnotationStore.AnchorChanged 存放区中任何注释上的 Anchor 元素变化时发生. Annot

WPF学习之事件的学习(二)

3.2自定义路由事件 为了方便程序中对象之间的通信,通常需要我们自己定义一些路由事件.那么如何去创建自定义路由事件呢?下面通过一个例子来说明自定义路由事件的创建. 创建自定义路由事件大体来说分为三个步骤: 声明并注册路由事件 首先,定义路由事件与依赖属性的定义手法极为相似——申明一个由public static readonly修饰的RoutedEvent类型的字段,然后使用EventManager类的RegisterRoutedEvent方法进行注册. 完整的注册路由事件的代码如下: //声明

WPF自定义路由事件

一 概要 本文通过实例演示WPF自定义路由事件的使用,进而探讨了路由事件与普通的CLR事件的区别(注:"普通的CLR事件"这个说法可能不太专业,但是,我暂时也找不到什么更好的称呼,就这么着吧,呵呵.)(扩展阅读:例说.NET事件的使用). 二 实例演示与说明 1 新建DetailReportEventArgs类,该类派生自RoutedEventArgs类,RoutedEventArgs类包含与路由事件相关的状态信息和事件数据.DetailReportEventArgs类中定义了属性Ev

WPF学习之事件(一)

就像属性系统在WPF中得到升级.进化为依赖属性一样,事件系统在WPF中也被升级,从而进化成为——路由事件(Routed Event),并在其基础上衍生出命令传递机制.就让我们一起来领略这些新消息机制的风采吧! 1.近观WPF的树形结构. 路由(Route)一词的大意为:起点和终点之间有若干个中转站,从起点出发后经过每个中转站时都要进行选择,最终以正确(比如最短或者最快)的路径到达终点.我们知道,WPF的UI是由布局组件和控件构成的属树形结构.因此,当这棵树上的某个节点激发出某个事件的时候,程序员

WPF快速指导10:WPF中的事件及冒泡事件和隧道事件(预览事件)的区别

本文摘要: 1:什么是路由事件: 2:中断事件路由: 3:自定义路由事件: 4:为什么需要自定义路由事件: 5:什么是冒泡事件和预览事件(隧道事件): 1:什么是路由事件 WPF中的事件为路由事件,所谓路由事件,MSDN定义如下: 功能定义:路由事件是一种可以针对元素树中的多个侦听器(而不是仅针对引发该事件的对象)调用处理程序的事件. 实现定义:路由事件是一个 CLR 事件,可以由 RoutedEvent 类的实例提供支持并由 Windows Presentation Foundation (W

WPF通用控制事件

WPF通用控制事件 Click:当控件被单击时发生.某些情况下,当用户按下Enter键时也会发生这样的事件. Drop:当拖曳操作完成时发生,也就是说,当用户将某个对象拖曳dao该控件上,然后松开鼠标时发生 DragEnter:当某个对象被拖曳进入该控件的边缘范围内时发生 DragLeave:当某个对象呗拖曳出该控件的边缘范围外时发生 DragOver:当某个对象呗拖曳到控件上时发生 KeyDown:当该控件具有焦点,并且某个按键被按下时发生.该事件总在KeyPress和KeyUp事件之前发生

迟到的 WPF 学习 —— 路由事件

1. 理解路由事件:WPF 通过事件路由(event routing)概念增强了传统的事件执行的能力和范围,允许源自某个元素的事件由另一个元素引发,例如,事件路由允许工具栏上的一个按钮点击的事件在被代码处理之前上传到工具栏,再由工具栏上传到所属窗体 2. 定义.注册和包装路由事件:和依赖性属性类似,它由只读的静态字段表示,在一个静态构造函数中注册,并通过一个标准的 .Net 事件定义进行包装.如 Button 的 Click 事件,该事件继承自抽象的 ButtonBase 基类 public a

WPF自定义路由事件(二)

WPF中的路由事件 as U know,和以前Windows消息事件区别不再多讲,这篇博文中,将首先回顾下WPF内置的路由事件的用法,然后在此基础上自定义一个路由事件. 1.WPF内置路由事件 WPF中的大多数事件都是路由事件,WPF有3中路由策略: 具体不多讲,单需要注意的是WPF路由事件是沿着VIsualTree传递的.VisualTree与LogicalTree的区别在于:LogicalTree的叶子节点是构成用户界面的控件(xaml紧密相关),而VisualTree要连控件中的细微结构也

WPF TreeView 选择事件执行两次,获取TreeView的父节点的解决方法

1.TreeView选择事件执行两次 Very often, we need to execute some code in SelectedItemChanged depending on the selected TreeViewItem. ButSelectedItemChanged is called twice. This is due to stealing focus from the main window, which is screwing something up. Wha