响应事件
在Avalonia应用程序中,您可以使用多种方式响应操作。 在本页面中,您将了解如何使用最简单的方法之一:如何编写按钮点击的事件处理代码。
首先,您将编写一个不与任何其他控件交互的按钮单击事件处理程序。
Code-Behind
XAML 文件可以拥有一个关联的 C# 代码 Code-Behind (通常被翻译为“代码隐藏”、“后端代码”、“后台代码”),
用于访问其关联 XAML 中的命名控件并处理其的事件。
如果您使用的是 IDE,您可以在 Solution Explorer 中找到这个文件,它是 .axaml
文件的子项。


修改 MainWindow
的代码隐藏:
- 打开
MainWindow.axaml.cs
文件
您将看到一些类似于以下代码的C#代码:
using Avalonia.Controls;
namespace GetStartedApp.Views;
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
}
分部类 MainWindow
对应 Avalonia 根据您已有的 XAML 创建的 Window
。
代码隐藏中分部类的命名空间必须与 XAML 保持一致,您可以在 XAML 标记中找到该类名:
<UserControl x:Class="GetStartedApp.Views.MainWindow"
...>
</UserControl>
要为按钮添加事件处理程序,请按照以下步骤进行操作:
- 在代码隐藏文件中找到
MainWindow
的构造函数(参见上述说明)。 - 在构造函数之后添加以下代码:
private void Button_OnClick(object? sender, RoutedEventArgs e)
{
Debug.WriteLine("Click!");
}
这将需要一些额外的 using 语句:
using Avalonia.Interactivity;
using System.Diagnostics;
- 切换到XAML文件,找到
<Button>
标签。 - 在标记的末尾添加
Click
特性,如下所示:
<Button Grid.Row="2" Grid.Column="1" Click="Button_OnClick">Calculate</Button>
- 以 debug 模式运行应用程序并点击按钮。
- Rider
- Visual Studio
您应该会在 Debug Output 输出窗口中看到如下结果:


您应该会在输出窗口的 Debug 输出源中看到如下结果:
在下一页中,您将了解如何使用 code-behind 在运行时读取和更改 Avalonia 控件的属性。