XamlでButtonを作成しました。MouseDownイベントを発生させたい:
MouseDown="Button_MouseDown_1"
このメソッドをcodeBehindに実装しましたが、機能しません。しかし、このメソッドを実装すると、次のようになります。
MouseMove="Button_MouseMove_1"
実装は機能します。問題はどこだ ?
セバ。
XamlでButtonを作成しました。MouseDownイベントを発生させたい:
MouseDown="Button_MouseDown_1"
このメソッドをcodeBehindに実装しましたが、機能しません。しかし、このメソッドを実装すると、次のようになります。
MouseMove="Button_MouseMove_1"
実装は機能します。問題はどこだ ?
セバ。
Button要素自体は、イベントハンドラーが呼び出される前に、マウスダウンイベントを処理しています。つまり、イベントハンドラーは呼び出されません。
おそらく、実際に実装したいのはClickイベントです(例)。
Click="button1_Click"
これは、ボタンがマウスでクリックされた場合、またはボタンにフォーカスがあり、Enterキーが押された場合などに応答します。
ただし、ボタンにmousedownイベントのハンドラーを具体的に実装する必要がある場合は、ハンドラーに通知されるPreviewMouseDownイベントを使用できます。
MSDN:ルーティングされたイベントの概要では、ルーティングされたイベントがどのように機能するかについて詳しく説明しています。