CLR事件与路由事件在XAML代码中应用时的区别

<Window x:Class="Demo_window.Window2"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:Demo_window" 
Title="Window2" Height="300" Width="300"
>

<Grid x:Name="grid_1">

<Grid x:Name="grid_2" local:Student.Test="ddd">
<Grid x:Name="grid_3" >
<StackPanel x:Name="sp_1" >
<!--Button.Click="Button_Click"是安装方式,当前控件安装了Button.Click事件侦听器,当该事件被激发时,会调用Button.Click事件的处理方法-->
<!--Click="Button_Click"是button1控件自身带的CLR事件进行订阅{调用CLR事件的add访问器}-->
<Button x:Name="button1" Width="80" Height="80" Button.Click="Button_Click" Click="Button_Click"/>

</StackPanel>
</Grid>
</Grid>
</Grid>

</Window>

时间: 2024-10-25 16:20:28

CLR事件与路由事件在XAML代码中应用时的区别的相关文章

WP8.1学习系列(第十九章)——事件和路由事件概述

我们将介绍在使用 C#.Visual Basic 或 Visual C++ 组件扩展 (C++/CX) 作为编程语言并使用 XAML 进行 UI 定义时,针对 Windows 运行时应用的事件的编程概念.你可以在 XAML 中的 UI 元素声明中为事件分配处理程序,或者在代码中添加处理程序.Windows 运行时支持路由事件:借助此功能,某些输入事件和数据事件可由引发该事件的对象以外的对象来处理.在定义控件模板或使用页面或版式容器时,路由事件十分有用. 事件即编程概念 通常而言,对 Window

wpf样式绑定 行为绑定 事件关联 路由事件实例

代码说明:我要实现一个这样的功能  有三个window窗口  每个窗体有一个label标签  当我修改三个label标签中任意一个字体颜色的时候  其他的label标签字体颜色也变化 首先三个窗体不用贴代码了  直接添加三个就行了 样式绑定: 先添加数据源  代码如下: (注:为了防止propertyName硬编码写死   可以使用CallerMemberName附加属性来获取默认的属性名称 或者使用表达式目录树Expression<Func<T>>的方式来获取) 1 public

在XAML代码中导入名称空间

使用如下的代码导入指定的名称空间.不仅导入了名称空间,而且还为该名称空间指定了一个前缀local,当然也可以指定为其他的前缀名,这个可自行定义.导入后,该名称空间的公开成员即可在当前XAML代码中使用了.比如示例中的TimeButton这个类,其实是个继承自按钮的自定义控件类. <Window x:Class="Demo002.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presenta

路由事件(鼠标路由事件+键盘路由事件)

1:常规的鼠标路由事件定义: #region 路由事件        public static readonly RoutedEvent CrossIconClickedEvent = EventManager.RegisterRoutedEvent("CrossIconClicked",            RoutingStrategy.Bubble, typeof(RoutedEventHandler), typeof(FilterLabel));        #endre

代码中“\n”“\r”的区别

'\r'是回车,'\n'是换行,前者使光标到行首,后者使光标下移一格.通常用的Enter是两个加起来. 回车和换行 Unix系统里,每行结尾只有"<换行>",即"\n": Windows系统里面,每行结尾是"<换行><回车>",即"\n\r": Mac系统里,每行结尾是"<回车>". 一个直接后果是,Unix/Mac系统下的文件在Windows里打开的话,所有

WPF路由事件二:路由事件的三种策略

一.什么是路由事件 路由事件是一种可以针对元素树中的多个侦听器而不是仅仅针对引发该事件的对象调用处理程序的事件.路由事件是一个CLR事件. 路由事件与一般事件的区别在于:路由事件是一种用于元素树的事件,当路由事件触发后,它可以向上或向下遍历可视树和逻辑树,他用一种简单而持久的方式在每个元素上触发,而不需要任何定制的代码(如果用传统的方式实现一个操作,执行整个事件的调用则需要执行代码将事件串联起来). 路由事件的路由策略: 所谓的路由策略就是指:路由事件实现遍历元素的方式. 路由事件一般使用以下三

[总结]使用WPF路由事件过程中遇到的一些小问题

写在前面 本文一开始会给出一个使用WPF路由事件的实例,因为本文所有的表述都将基于该实例.而本文所给实例来自于<WPF自定义路由事件>一文,在<WPF自定义路由事件>一文中会对实例代码做详细说明,所以,大家在阅读本文实例代码期间若存在疑问,可以先去看看<WPF自定义路由事件>一文,看是否能从中获得你想要的解答. 本文实例 1 新建DetailReportEventArgs类,该类派生自RoutedEventArgs类,RoutedEventArgs类包含与路由事件相关的

WPF 路由事件

每每谈到WPF的路由事件,我总是比较模糊的,因为我一般很少用,因为一般是用Binding来满足数据驱动界面的要求,要么就是通过路由命令来执行我想要做的方法,路由事件确实用得少,那么路由事件跟一般的事件的区别在哪里呢?如何使用呢?下面讲揭开其神秘的面纱: 首先说一说事件的历史,在windows操作系统上运行程序,都是消息驱动的,早期Windows API开发和MFC开发的时候可以直接看到各种消息,并且定义消息,到了VB和COM的时代,消息被封装成了事件,到了.NET时代也是事件,但是是直接式的,但

WPF路由事件学习转(二)

在传统的.net中已经有了事件机制了,为什么在WPF中要加入路由事件来取代事件呢,最直观的原因就是典型的WPF应用程序使用很多元素关联和组合起来,从而有了两个概念,LogicalTree 和 VisualTree,那么它们分别是什么呢,举个例子: 这就是LogicalTree,一个Grid里面镶嵌了其他控件或布局组件,这相当于一棵树中的叶子.而VisualTree呢?它就是一个树中的叶子里面的结构,用放大镜看一下,其实叶子里面的结构也是一颗树结构,这就是VisualTree了,例如 好了,既然W