WinUI - イベントハンドラを追加する

C++ で WinUI 3 ライブラリを使う

Button などのコントロールイベントハンドラを追加したかったのですが、その方法がわからず苦労したので紹介します。

Visual StudioXAMLファイルを開き、XAML要素にイベントの属性名と = を入力すると <新しいイベントハンドラー> が選択できるようになります。

<新しいイベントハンドラー> を選択するとイベントハンドラーを自動で追加してくれます。

クラスにもイベントハンドラが追加されています。イベントに対応する引数も定義してくれるため、いちいち調べなくても良いのがとても助かります。

void Button_Click(winrt::Windows::Foundation::IInspectable const& sender, winrt::Microsoft::UI::Xaml::RoutedEventArgs const& e);

また、Name属性を設定していると「Name属性値_イベント名」が関数名になるようです。

コードの保守を考えるとイベントハンドラーの追加は、 Visual Studio の機能に任せるほうが賢い気がします。

参考

WinUI 3 with C++ 入門 - ビリヤードが好きなプログラマー