Windowクラス のイベント発生状況を確認したかったため、各イベントが発生する都度、コンソールに結果出力させるサンプル、これを実行してトレース結果の動きを見ているとWindowのイベント発生契機の理解が深まる。
コード例
add_XXXX.Invokeの中で、自作のトレース用のスタティックメソッドを呼び出すようにしている。
結果(起動時)
IsVisibleChanged、SizeChanged、LayoutUpdated、SourceInitialized、Activated あたりが初期化時のイベントのようだ。
s | この要素の IsVisible プロパティの値が変更されたときに発生します。(継承元 UIElement) |
Size | この要素の ActualHeight プロパティまたは ActualWidth プロパティの値が変更されると発生します。(継承元 FrameworkElement) |
Source | このイベントは、Win32 との相互運用をサポートするために発生します。 以下を参照してください。HwndSource |
Layout | 現在の Dispatcher に関連付けられた各種ビジュアル要素のレイアウトが変更されたときに発生します。(継承元 UIElement) |
Activated | ウィンドウがフォアグラウンド ウィンドウになったときに発生します。 |
しかし、起動時に一番発生しそうな(それっぽい)Inithalizedは呼ばれていなかった。なぜだろう
Initialized | この FrameworkElement が初期化されるときに発生します。 このイベントと同時に、IsInitialized プロパティの値が false (未定義) から true に変更されます。(継承元 FrameworkElement) |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
PS C:\Users\papanda925\Documents\WinPythonDev\dev> . "c:\Users\papanda925\Documents\WinPythonDev\dev\PSEventNotificationChecker.ps1.ps1" 2022/08/29 19:01 MainWindowEvent Trace Start 2022/08/29 19:01 IsVisibleChanged 2022/08/29 19:01 SizeChanged 2022/08/29 19:01 LayoutUpdated 2022/08/29 19:01 LayoutUpdated 2022/08/29 19:01 LayoutUpdated 2022/08/29 19:01 LayoutUpdated 2022/08/29 19:01 LayoutUpdated 2022/08/29 19:01 LayoutUpdated 2022/08/29 19:01 SourceInitialized 2022/08/29 19:01 Activated 2022/08/29 19:01 PreviewGotKeyboardFocus 2022/08/29 19:01 IsKeyboardFocusWithinChanged 2022/08/29 19:01 IsKeyboardFocusedChanged 2022/08/29 19:01 GotKeyboardFocus 2022/08/29 19:01 LayoutUpdated 2022/08/29 19:01 LayoutUpdated 2022/08/29 19:01 LayoutUpdated 2022/08/29 19:01 LayoutUpdated 2022/08/29 19:01 LayoutUpdated 2022/08/29 19:01 LayoutUpdated 2022/08/29 19:01 Unloaded 2022/08/29 19:01 Loaded 2022/08/29 19:01 MouseEnter 2022/08/29 19:01 QueryCursor 2022/08/29 19:01 PreviewMouseMove 2022/08/29 19:01 MouseMove 2022/08/29 19:01 ContentRendered 2022/08/29 19:01 QueryCursor 2022/08/29 19:01 PreviewMouseMove 2022/08/29 19:01 MouseMove 2022/08/29 19:01 QueryCursor 2022/08/29 19:01 PreviewMouseMove 2022/08/29 19:01 MouseMove 2022/08/29 19:01 QueryCursor 2022/08/29 19:01 PreviewMouseMove 2022/08/29 19:01 MouseMove 2022/08/29 19:01 QueryCursor 2022/08/29 19:01 PreviewMouseMove 2022/08/29 19:01 MouseMove 2022/08/29 19:01 QueryCursor 2022/08/29 19:01 PreviewMouseMove 2022/08/29 19:01 MouseMove 2022/08/29 19:01 QueryCursor 2022/08/29 19:01 PreviewMouseMove 2022/08/29 19:01 MouseMove 2022/08/29 19:01 QueryCursor 2022/08/29 19:01 PreviewMouseMove 2022/08/29 19:01 MouseMove ・・・・・・ |
結果、終了(xボタンクリック時)
Closing と Closed が呼ばれている これがそんなものかなと思える。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
・・・・・・ 2022/08/29 19:01 MouseMove 2022/08/29 19:01 QueryCursor 2022/08/29 19:01 PreviewMouseMove 2022/08/29 19:01 MouseMove 2022/08/29 19:01 QueryCursor 2022/08/29 19:01 PreviewMouseMove 2022/08/29 19:01 MouseMove 2022/08/29 19:01 QueryCursor 2022/08/29 19:01 PreviewMouseMove 2022/08/29 19:01 MouseMove 2022/08/29 19:01 QueryCursor 2022/08/29 19:01 PreviewMouseMove 2022/08/29 19:01 MouseMove 2022/08/29 19:01 QueryCursor 2022/08/29 19:01 PreviewMouseMove 2022/08/29 19:01 MouseMove 2022/08/29 19:01 MouseLeave 2022/08/29 19:01 Closing 2022/08/29 19:01 IsVisibleChanged 2022/08/29 19:01 Deactivated 2022/08/29 19:01 IsKeyboardFocusWithinChanged 2022/08/29 19:01 IsKeyboardFocusedChanged 2022/08/29 19:01 LostKeyboardFocus 2022/08/29 19:01 Closed 2022/08/29 19:01 Event Trace End |
コメント