深入探讨WPFAttached

我们在以前的文章中曾经介绍了一些有关WPF事件的相关知识,相信大家已经对这一知识有一些掌握,在这里我们将会继续针对WPF Attached做一个简单的介绍。#t#

10年积累的网站设计、成都做网站经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有璧山免费网站建设让你可以放心的选择与我们合作。

WPF Attached与Attached属性类似,WPF的Element在事件没有定义的情况下也支持Tunneling或者Bubbling事件。比如,我们可以在一个简单的窗口程序中这样指定事件函数:

  1. < Window
  2. xmlns=”http://schemas
    .microsoft.com/winfx/2006/xaml/
    presentation”
  3. xmlns:x=”http://schemas.microsoft
    .com/winfx/2006/xaml”
  4. x:Class=”Window1”
  5. Button.Click=”Button_Click” 
  6. < Button Text="TestButton"
  7. Width="50" Height="30">
  8. < /Window>

 WPF Attached例子中,因为Window本身没有定义Click事件,所以我们必须指定Click事件属性的名称前缀,也就是定义事件的类名。经过这样的定义后,点击在Window中的TestButton,也会激发属性声明的Click事件,调用对应的Button_Click方法。

为什么这样的定义可以通过呢?首先编译时,XAML会看到Button类确实定义了一个Click的.NET事件。在运行时,会直接调用AddHandler把这两个事件依附到Window对应的类当中。所以上面用XAML属性声明的事件代码与下面的程序代码等效:

  1. public Window1 { 
  2. InitializeComponent(); 
  3. this.AddHandler(Button.
    ClickEvent, new Routed
    EventHandler(Button_Click)); 
  4. }

以上就是对WPF Attached的相关介绍。


网页题目:深入探讨WPFAttached
网址分享:http://www.gydahua.com/article/cddcjei.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流