路由事件浏览
(1)在vs designer中,如在窗口中增加一个按钮,命名为MyButton,双击它,那么
它的xaml声明<Button Name="myButton" Click="myButton_Click">Click Me</Button>会在指明事件处理程序的那个对象上,直接产生一个健全的事件挂钩;
(2)这可以通过观察以下文件来验证:
class constructor-右击InitializeComponent方法-Go To Definition-生成的代码文件(.i.g.cs)-Connect方法
#line 6 "..\..\Window1.xaml" this.myButton.Click += new System.Windows.RoutedEventHandler( this.myButton_Click);
(3)窗口页后文件的Click处理程序:
private void myButton_Click( object sender, RoutedEventArgs e) { }
这看起来与任何其它的 .NET 事件挂接一样——有一个显式声明的委托,它挂接到一个对象事件而委托指向一个处理方法。
WPF的元素复合模型
WPF元素树
在窗口上拖放一个按钮的树是这样的:<Window> <Grid> <Button/> </Grid> </Window>它们每个元素都表示运行时对应的 .NET类型 一个实例;
待续
本文介绍WPF中路由事件的工作原理及其在VS Designer中的应用过程。通过实例展示了如何为按钮添加点击事件处理程序,并解释了事件挂钩的实现机制。同时,探讨了WPF元素树的构成及各元素之间的关系。
759

被折叠的 条评论
为什么被折叠?



