2009-08-06 2 views
3

터널링 Button.Click 이벤트를 찾고 있습니다. ButtonBase.Click 이벤트가 거품을 일으키고 있으므로 해당 단추에 대해 등록 된 작업이 이미 발생한 후에 만 ​​(필요한 경우 너무 늦음) 루트가 이벤트를 처리 할 수 ​​있습니다.WPF 버튼 터널링 OnClick 이벤트

버튼에 등록 된 이벤트가 발생하기 전에 이벤트를 처리 할 수 ​​있도록 대응 "미리보기"이벤트가 필요합니다.
나는 그러한 이벤트가 존재하는지 잘 모르겠다. 그러므로 doens't라면 어떤 해결 방법을 듣게되어 기쁠 것이다.

답변

4

Button.PreviewClick 이벤트가 없습니다. Button.PreviewMouseDown 또는 Button.PreviewMouseUp을 사용하면 시도하려는 작업에 맞는지 확인할 수 있습니다.

+0

+1 이것이 현재 구현 된 방식입니다. 하지만 저는보다 강경 한 해결책을 찾고 있습니다. 이 솔루션은 예를 들어 키보드 클릭을 처리하지 않습니다. – Elad

+1

다른 어떤 더 포괄적 인 해결책이 없다는 것이 있습니다. 내가 생각할 수있는 유일한 다른 옵션은 Button을 서브 클래스 화하고 터널링 이벤트를 직접 구현하는 것입니다. 그 중 하나 또는 너무 PreviewKeyDown 처리 할 수 ​​있습니다. – Andy