跳到主要内容

建立事件和响应

我们的温度转换器应用程序现在看起来相当实用,但还无法做任何事情。接下来我们需要让 Calculate 按钮能够响应用户操作,例如点击。

使用后置代码创建事件处理程序

XAML 文件可以与 C# 源文件关联。这个文件是我们可以为按钮编写事件处理代码的地方。我们称之为"后置代码"。

  1. 在您的 IDE 中,浏览项目目录找到 Views → MainWindow.axaml → MainWindow.axaml.cs。这是主窗口 XAML 后面的 C# 源文件。
显示文件树中主窗口后置代码文件位置的屏幕截图。
  1. 打开 MainWindow.axaml.cs
  2. 找到文件顶部的 using 指令。此时应该只有一行 using Avalonia.Controls;。添加以下两个 using 指令:
using Avalonia.Interactivity;
using System.Diagnostics;
  1. 找文件下方的 public partial class MainWindow : Window 行。此类当前仅包含主窗口的构造函数 public MainWindow()。在构造函数下方,添加以下代码:
private void Button_OnClick(object? sender, RoutedEventArgs e)
{
Debug.WriteLine("Click!");
}
  1. 您的 C# 文件现在应该如下所示:
using Avalonia.Controls;
using Avalonia.Interactivity;
using System.Diagnostics;

namespace GetStartedApp.Views;

public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}

private void Button_OnClick(object? sender, RoutedEventArgs e)
{
Debug.WriteLine("Click!");
}
}
  1. 切换到您的 XAML 文件 MainWindow.axaml
  2. 在文件底部附近找 <Button>
  3. Click 属性添加到 <Button> 标签,并将其与 Button_OnClick 关联,如下所示:
<Button HorizontalAlignment="Center" Click="Button_OnClick">Calculate</Button>

检查事件处理程序

为了验证我们是否正确创建了事件处理程序,我们可以检查调试输出,以确认当我们点击 Calculate 按钮时是否打印了 "Click!"。

  1. 在调试模式下运行 GetStartedApp。
显示在 Rider 中以调试模式运行项目的按钮位置的屏幕截图。
  1. 在底部面板中打开 Debug Output 选项卡。
  2. 在正在运行的应用程序窗口中,多次点击 Calculate 按钮。
  3. 您应该会在 Rider 的调试输出中看到 "Click!" 被打印出来。

在下一页中,您将学习如何实现将温度从摄氏度转换为华氏度的公式。