RoutedEventHandlerは、イベントハンドラとなるデリゲート。
RoutedEventHandler Delegate (System.Windows) | Microsoft Docs
"Routed"と名が付いているが、これはそのハンドラでイベント処理終了をしない場合、親要素がイベントを受け取り、そのイベント処理終了をするか判断し、処理終了しない場合、また親要素に渡っていくような、イベントのルーティングが行われるからである。
MFCのCCmdTargetと同じような仕組みである。
WPFで、
Buttonを選択し、
配置。
今回は手書きでハンドラを追加。
handlerで"ABCDE"表示処理を書いて、登録はWindow1のコンストラクタでやっている。
これだけだと、
実行して、押すと、
"ABCDE"が表示されるだけ。
このようにbutton2を内部に配置する。
button2をダブルクリックして、
今度はbutton2_Clickで"XYZ"を表示するように書く。
実行したら、
外側のButtonを押すと、
表示するのはこれだけ。
しかし、
内側のbutton2を押すと、
"XYZ"、そして、
"ABCDE"が表示される。
button2のイベントハンドラ処理の後に、親であるButtonのイベントハンドラ処理が実行されるのである。