イベントとレスポンスの構築
温度変換アプリは、見た目としては十分に機能しそうな状態になりましたが、まだ何も動作していません。次に必要なのは、「計算(Calculate)」ボタンが、クリックなどのユーザー操作に応答できるようにすることです。
コードビハインドを使用したイベントハンドラーの作成
XAMLファイルは、C#のソースファイルと関連付けることができます。このファイルには、ボタンのイベント処理コードを記述します。この仕組みは「コードビハインド」と呼ばれます。
- IDEでプロジェクトディレクトリを開き、Views → MainWindow.axaml → MainWindow.axaml.cs を参照します。これは、メインウィンドウのXAMLに対応するC#ソースファイルです。
2. MainWindow.axaml.csを開く
3. まず、ファイルの先頭にある using ディレクティブを確認してください。
この時点では、using Avalonia.Controls; という1行だけが存在しているはずです。以下の 2 つの using ディレクティブを追加します。
using Avalonia.Interactivity;
using System.Diagnostics;- ファイル内のさらに下の方にある
public partial class MainWindow : Windowという行を探します。
このクラスには現在、メインウィンドウ用のコンストラクタであるpublic MainWindow()のみが含まれています。コンストラクタの下に、次のコードを追加します。
private void Button_OnClick(object? sender, RoutedEventArgs e)
{
Debug.WriteLine("Click!");
}- 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!");
}
}- XAMLファイルの
MainWindow.axamlを開いてください。 - ファイルの下の方にある
<Button>を探してください。 <Button>タグにClick属性を追加し、Button_OnClickに関連付けてください。次のようにします。
<Button HorizontalAlignment="Center" Click="Button_OnClick">Calculate</Button>イベントハンドラーが正常に動作することを確認
イベントハンドラーが正しく作成されていることを確認するために、Calculateボタンをクリックしたときに、デバッグ出力に「Click!」と表示されているか確認します。
- デフォルトでは分割ビューの下にあるOutputウィンドウを開き、Show output from: のドロップダウンメニューからDebugを選択
- アプリを実行
- 実行中のアプリ画面で、Calculateボタンを何度かクリック
- Outputウィンドウに「Click!」と表示される
次のページでは、摂氏の温度を華氏に変換する計算式を実装する方法を学びます。
最終更新日
