2013-10-06 1 views
0

에, 부모에 영향을 미친다. 버튼 c (c에 다른 등록이 있음)을 클릭하면 부모의 PreviewMouseLeftButtonDown 이벤트가 발생하지 않기를 바랍니다. 나는 parnet가 일반 버튼이기 때문에 GetPosition을 사용하여 특별히 검사하거나 (c의 MouseEnter에 등록하고 일부 플래그를 변경하지 못함) 많은 버튼을 포함 할 수 있습니다.내가 두 버튼이 특정 아이

PreviewMouseLeftButtonDownc에 등록하려고 시도했으나 e.Handled = true이 도움이되지 않습니다. 이는 자녀의 이벤트가 아이의 이벤트보다 먼저 발생하기 때문입니다.

어떤 방법이 있습니까?

감사

답변

2
PreviewMouseLeftButtonDown는 터널링 전략을 사용하기 때문이다

, 그것은 마지막 아이 먼저 부모를, 명중

당신이 적용 버블 전략을 사용하며,이 경우 MouseLeftButtonDown 필요 것처럼 소리

 e.IsHandled = true 

C에서 처리, 참고

,이 이유는 e.IsHandled에 대한 효과 외아들 엘 당신의 ements 단추입니다.

RoutedEvents