『 라우팅 전략 실행 』
지난 강좌예제 에서 알아본 라우팅 전략의 실행 결과물을
보여드리겠습니다.
귀여운 팩맨 이미지를 띄우게 되었습니다
팩맨이미지 그러니까 Path 에서 마우스 좌클릭을 해보시면
ListBox 에 Path 에서 이벤트가 발생됨을 보이실겁니다
예상을 해보셨겠지만 버튼테서 클릭을 하게 되면 버튼에서
이벤트가 발생했다는 것을 알 수 있겠습니다
이번엔 버튼에서 마우스 우클륵해서 Window 에 등록한 이벤트
핸들러가 버블링을 통해 실행되는지 보겠습니다
실행 결과로 정상적으로 버블링을 통한 이벤트가 실행된것을
확인하실수가 있으실 겁니다
예제를 통해 이벤트가 하위요소에서 발생할 때 각각의 요소에
상위요소로 이벤트 전달할 핸들러를 등록하지 않더라도
라우트된 이벤트의 버블링을 통해 알아서 상위요소로 이벤트가
전달되어 지는것을 알수 있으실겁니다
그런데 눈치 채셨나요???
Path 에서 마우스 우클릭을 해보셨다면 Window 에 등록한
이벤트 핸들러가 실행되지 않음을 아실수 있으싥덥니다
그것은 제가 임의로 버블링되는 이벤트 라우팅을 중단했기때문이죠
다시 위으 코드하인드페이지에 작성한 코드를 보시면
"SometingClickted" 이란 이벤트 핸들에 보시면 마지막에
"e.Handled - true;" 라는 코드가 있으실겁니다
이 코드는 이벤트 핸들러의 RoutedEventArgs 클래스의
Handled 속성을 이용하여 이벤트 라우팅을 중단한 것입니다.
여러분은 때에 따라서 버블링되는 이벤트를 중단해야 할 경우에
Handled 의 속성을 "true" 로 변경하여 버블링을 중단할 수 있고
내부적으로 버를링은 되나 이미 이벤트를 처리한 것으로 다시
보고 할 수 있게됩니다.
'닷넷 > Wpf프로그래밍' 카테고리의 다른 글
WPF 강좌예제 / tunneling 실습 코드 디자인 (0) | 2015.10.27 |
---|---|
WPF 강좌예제 / tunneling 예제 작성 (0) | 2015.10.26 |
WPF 강좌 예제자료 / 라우팅 전략 (라우팅 전략 예제3) (0) | 2015.10.23 |
WPF 강좌 예제자료 / 라우팅 전략 (라우팅 전략 예제2) (0) | 2015.10.23 |
WPF 강좌 예제자료 / 라우팅 전략 (라우팅 전략 예제1) (0) | 2015.10.23 |