2009-08-06 18 views
3

トンネリングButton.Clickイベントを探しています。 ButtonBase.Clickイベントがバブリングしているため、そのボタンに登録されているアクションが既に発生している(必要なイベントが遅すぎる)場合にのみ、ルートがイベントを処理できます。WPFボタントンネリングOnClickイベント

ボタンに登録されているイベントが発生する前に、の前にイベントを処理できるように、対応するプレビューイベントが必要です。
私はそのようなイベントが存在するかどうかはわかりません。そうでなければ、いくつかの回避策を聞いて嬉しいです。

答えて

4

Button.PreviewClickイベントはありません。 Button.PreviewMouseDownまたはButton.PreviewMouseUpを使用して、これが動作しようとしているもので動作するかどうか試してみてください。

+0

+1これは今実装されている方法です。しかし、私は本当により説得力のあるソリューションを探しています。このソリューションは、たとえばキーボードのクリックを処理しません。 – Elad

+1

他の包括的なソリューションはないということです。私が考えることができる唯一の他の選択肢は、Buttonをサブクラス化してトンネリングイベントを自分で実装することです。それか、PreviewKeyDownも処理します。 – Andy