마우스 아래에있는 요소를 검색하는 모든 방법은 Visual Hit 테스트와 관련이있는 것으로 보입니다.WPF에서 마우스 아래에 논리 UIElement 얻기
HitTest
이 반환하는 현재 시각적 트리를 나타내는 실제 UIElement
을 가져올 수있는 메커니즘이 있습니까? 내가 뭘하는지의
요약 :
나는 마우스가 이상하다는 UIElement에 기반으로 뭔가를하고있는에 의존하는 사용자 정의 툴팁 클래스가 있습니다.
간단히 말해서, 소유하는 Window의 PreviewMouseMove
이벤트에 후크하여 "현재 항목"을 업데이트합니다. 이 현재 항목은 마우스가 현재 상단에있는 UIElement
을 나타내야합니다.
불행히도 Mouse.DirectlyOver
, VisualTreeHelper.HitTest
(콜백 포함)으로 만난 모든 것이 작동하지 않습니다.
Windows의 MouseMove
이벤트 내에서 WPF에서 겉으로보기에는 간단한 작업을 수행하는 방법에 대한 통찰력을 제공 할 수 있습니까?
1) 시각적 트리 요소를
2) 테스트를 찾기
이var UIElement = Mouse.DirectlyOver as UIElement;
그래도 여전히 시각적 요소를 가져옵니다. 그래서 예를 들면 ... 기본 템플릿이있는 "Button"을 마우스 오버하려는 경우 텍스트 (내용)의 마우스를 놓으면 특정 텍스트 블록이 나에게 반환됩니다. 기본적으로 개별 시각적 요소와 반대로 Button을 반환하고 싶습니다. – tronious
굉장! 너무 간단합니다. –