深入探讨WPF Attached

开发 开发工具
WPF Attached事件在实际使用中是比较重要的一个地方。大家可以再实际使用中去慢慢体会其重要性,并牢固掌握这一知识。

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

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));   

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

责任编辑:曹凯 来源: IT168
相关推荐

2009-12-25 14:18:03

WPF依赖属性

2009-12-29 15:24:48

WPF对话框

2009-12-23 16:27:49

WPF UI自动化模型

2009-12-25 10:20:28

WPF窗口

2010-07-21 09:38:15

PHP缓存技术

2010-11-22 14:18:32

MySQL锁机制

2021-05-17 05:36:02

CSS 文字动画技巧

2009-11-20 17:17:08

Oracle函数索引

2011-02-25 09:23:00

Java类加载器

2010-03-05 13:44:00

Python序列

2009-08-27 11:27:58

foreach语句C# foreach语

2010-03-31 14:58:03

云计算

2023-01-12 17:18:06

数据库多云

2015-09-02 08:57:56

JavaHashMap工作原理

2012-02-28 14:43:43

2017-01-03 17:57:46

Android异步精髓Handler

2009-12-11 11:08:31

静态路由策略

2009-12-07 16:07:03

PHP类的继承

2009-12-14 14:40:10

Ruby全局域变量

2009-11-12 13:56:54

点赞
收藏

51CTO技术栈公众号