路由事件浏览
(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类型 一个实例;
待续