ボタンがマウスダウン状態 (IsPressed) のときにメソッドを呼び出し、ボタンが離されたときに別のメソッドを呼び出したい。これを行う簡単な方法を理解できないようです。
ありがとう!
バインディングを使用できる状況にある場合は、ボタンの IsPressed プロパティに OneWayToSource バインディングを設定します。source プロパティが変更されたら、コードを実行します。
これは、ボタンが押された方法に関係なく機能するはずです。
同様の効果を得るために処理できる MouseDown および MouseUp イベントがあります。しかし、それはキーボード (スペースバー) のケースを処理しません。KeyDown および KeyUp イベントでそれを行う必要があります。
また、MouseDown イベントの後に MouseUp イベントが発生しない場合があることにも注意してください。これは、ユーザーがマウスを押し下げてボタン上から移動した場合です。(MouseDownでマウスをキャプチャして、MouseUpイベントを確実に取得できると思います)
確かに、マウス イベントを傍受しようとするよりも良い方法があります。IsPressed プロパティの何らかのトリガーですか?
その上、システムによってインターセプトされているため、ボタンでマウスイベントの一部を取得できないことは間違いありません。
System.Windows.Input 名前空間のMouseクラスを見てください。利用可能なMouseDownおよびMouseUp添付イベントがあります。