WPFコントロールは、マウスイベントが発生したことをどのように認識して、マウスイベントを発生させることができますか。
たとえば、ボタン コントロールは、MouseDown および MouseUp イベントをキャプチャして、それをクリック イベントに変換することをどのように認識しますか。
WPFコントロールは、マウスイベントが発生したことをどのように認識して、マウスイベントを発生させることができますか。
たとえば、ボタン コントロールは、MouseDown および MouseUp イベントをキャプチャして、それをクリック イベントに変換することをどのように認識しますか。
Windows はメッセージング モデルを使用して、何が起きているかを GUI 要素に通知します。Windows はこれらのメッセージをメッセージ キューに入れ、各ウィンドウは常にこのキューをチェックして、存在するメッセージを確認します。これは、メッセージ ループと呼ばれることがよくあります。次に、ウィンドウは、それ自体に宛てられたメッセージを取得し、必要なアクション (ユーザー コードが応答するイベントを発生させるなど) を実行します。メッセージループとメッセージについてもっと学ぶために、これとこれを読むことをお勧めします。
WinForms では、各コントロールは独自のウィンドウであったため、各コントロールには独自のメッセージ キューがありました。これは WPF には当てはまりません。WPF はウィンドウ全体を単一の項目として扱い、実行時に必要な要素を構成するため、WPF はこれを別の方法で処理します。WPF がこの状況をどのように処理するかについて詳しく知るために、これを読むことをお勧めします。
Windows メッセージ、Windows メッセージ ループを検索し、WPF をミックスに投入するだけで、ここにリストしたリソース以外にも、他にも多くのリソースがあります。