Silverlight 응용 프로그램에서 마우스 이벤트를 잡기 위해 전역 이벤트 처리기를 등록하는 방법이 있습니까? 나는 각 FrameworkElement의 마우스 이벤트 핸들러에 가입하는 것을 피하고보다 우아한 솔루션 (버블 링 된 이벤트)을 찾고 싶다. 감사합니다.Silverlight에서 마우스 이벤트에 대한 글로벌 응용 프로그램 후크
0
A
답변
1
MouseMove는 Silverlight의 버블 링 이벤트입니다. 당신은 창문의 수준에서 그것을 잡으려고 했습니까?
0
모든 마우스 이벤트는 이벤트를 버블 링하므로 표면에 이벤트 핸들러를 루트 UserControl
또는 Page
요소에 첨부하고 이벤트를 가져올 수 있어야합니다.
그러나 많은 컨트롤이 마우스 이벤트에 사용되며 이러한 이벤트를 직접 처리합니다. 그러한 경우 그 사건들은 더 이상 버블되지 않습니다.
나는 이것을 시도했다 .RootVisual.AddHandler (UIElement.MouseLeftButtonDownEvent, new MouseButtonEventHandler (rootVisual_MouseLeftButonDown), true), 이벤트를 처리하고 있지 않다. 왜 그런가? 문서에 따르면, 그것은해야 할 것 같습니다 ... –