UWP基础教程 - XAML事件

Windows 10 XAML应用是由.xaml + .xaml.cs文件组成,使用XAML进行.xaml文件的编写,使用C#来编写.xaml.cs代码文件。当XAML编译时,通过XAML页面的根元素x:Class属性制定命名空间和类来标识每个XAML页对应的C#代码的位置。事件就是基于该机制,使用事件可以帮助应用管理用户输入,执行不同的行为。 根据用户不同的操作,执行不同的业务逻辑代码。

在传统的WinForm应用开发中,一个对象激活一个事件被称为Event Sender(事件发送者),而事件所影响的对象则称为Event Receiver(事件接收者)。对象事件的sender和receiver永远是同一个对象。简单的理解,如果你点击一个按钮对象,这个按钮对象激活Click事件,同时该对象后台代码将接收事件,并执行相关逻辑代码。 而XAML中不仅继承传统事件处理方式,并且引入依赖属性系统,同时还引入一个增强型事件处理系统 - Routed Event(路由事件)。路由事件和传统事件的不同是, 路由事件允许一个对象激活事件后,既是一个Event Sender(事件发送者),同时拥有一个或者多个Event Receiver(事件接收者)。

下面我们来看一下事件的语法实现:

<元素对象 事件名称=”事件处理”/>

使用按钮控件的Click事件,响应按钮点击效果,代码如下:

<Button Click=”Button_Click_1”/>

其中Button_Click_1连接后台代码中的同名事件处理程序:

private void Button_Click_1(object sender, RoutedEventArgs e)
{
    //TODO:事件处理 
}

在实际项目开发中,Visual Studio 的Xaml语法解析器为开发人员提供了智能感知功能,通过该功能可以在Xaml中方便的调用指定事件,而Visual Studio将为对应事件自动生成事件处理函数后台代码。 

Comment