public class Person
{
RoutedEvent NameChangedEvent = EventManager.RegisterRoutedEvent("NameChanged", RoutingStrategy.Bubble,typeof(RoutedEventHandler),typeof(Person));
//为界面添加路由侦听
AddNameChangedHandle(DependencyObject d,RoutedEventHandler h)
{
UIElement e = d as UIElement;
if(null!=e)
{
e.AddHandler(NameChangedEvent, h);
}
}
//移除侦听
RemoveNameChangedHandle(DependencyObject d,RoutedEventHandler h)
{
UIElement e = d as UIElement;
if(null!=e)
{
e.RemoveHandler(NameChangedEvent,h);
}
}
Id { get; set; }
Name { get; set; }
}
<Window x:Class="WpfApplication1.Window27"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window27" Height="272" Width="349">
x:Name="gd_main">
Content="Button" x:Name="button1" Width="75" Height="75" Margin="10" Click="button1_Click" />
</Grid>
</Window>
: Window
{
public Window27()
{
InitializeComponent();
//为外层Grid添加路由事件
Person.AddNameChangedHandle(this.gd_main, new RoutedEventHandler(PersonNameChanged));
}
PersonNameChanged(object obj, RoutedEventArgs e)
{
MessageBox.Show((e.OriginalSource as Person).Name);
}
button1_Click(object sender, RoutedEventArgs e)
{
Person persion = new Person();
persion.Id = 0;
persion.Name = "Darren";
//准备事件消息并发送路由事件
RoutedEventArgs arg = new RoutedEventArgs(Person.NameChangedEvent, persion);
this.button1.RaiseEvent(arg);
}
}
WPF 附件路由事件
原创
©著作权归作者所有:来自51CTO博客作者bruce1992的原创作品,请联系作者获取转载授权,否则将追究法律责任
下一篇:C# 中的反射机制
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
WPF 中的 路由事件
public class ReportTimeEventA
xml Click microsoft -
WPF原理剖析——路由事件
一、路由事件与传统事件传统事件的触发者和处理者是紧密相连的,而路由事件则不是
控件 click事件 事件响应 -
WPF路由事件:路由事件的三种策略
一、什么是路由事件路由事件是一种可以针对元素树中的多个侦听器而不是仅仅针对引发该事件的对象调用处理程序的事件
sed 事件处理 xml microsoft 处理程序 -
WPF中的路由事件(转)
最近因为工作需要学习WPF方面的知识,因为以前只关注的是B/S架构的东西,可
Click 事件模型 xml -
使用WPF内置的路由事件
如下图所示,按照传统的事件做法,会直接将事件和事件的处理器直接绑定到一起,而且需
单击事件 xml 事件处理 -
WPF路由事件二:路由事件的三种策略
一、什么是路由事件 路由事件是一种可以针对元素树中的多个侦听器而不是仅仅针对引
System Click Windows -
WPF中自定义路由事件
备注:在MVVM模式中,不能直接绑定控件的路由事件到ViewModel,可以将事件绑定后台.cs中的方法,然后再调用ViewModel中的方法。 .cs文件:
C# WPF xml ide microsoft -
WPF_05_路由事件
路由事件具有更强传播能力,可在元素树中向上冒泡和向下隧道传播,并沿着传播路径被事件处理程序处理 ...
事件处理 初始化 sed .net click事件