🐕

AvaloniaUI 起動時イベントの発生順

2024/03/07に公開

やりたいこと

AvaloniaUIでデスクトップアプリケーションを組んだ時に発生するイベントの発生タイミングを確認したい。

使用環境

Windows 11 : Home 22H2 + Visual Studio Community 2022(64bit)
Linuxテスト環境 : 上記Windows上のWSL2 Ubuntsu 22.04.2 LTS
Visual Studio2022, AvaloniaUI 11.0.2

やったこと

MainWindow内にMainViewを配置した状態で各種イベントがどう発生するか確認。

結果

下記の順番で動作した

  1. MainView.AttachedToLogicalTree発生
  2. MainView.Initialized発生
  3. MainView.AttachedToVisualTree発生
  4. MainView.LayoutUpdated発生
  5. window枠が描画される
  6. MainWindow.Activated発生
  7. MainWindow.Opened発生
  8. MainView.LayoutUpdated発生
  9. MainView.Loaded発生
  10. window内部(MainView領域)が描画される
  11. MainWindow.Loaded発生

発生しなかったイベント

  • MainWindow.Initialized
  • MainWindow.AttachedToLogicalTree
  • MainWindow.AttachedToVisualTree

名前からわかりにくいが、一番最後に発生するのはLoadedのよう。

Discussion