2013-02-19 2 views
0

외부 프레임 워크에서 XAML 요소가 포함 된 Canvas을 얻었으므로 Canvas은 나를위한 블랙 박스와 같습니다. 컨트롤을 누르면 이벤트가 EventHandler(object sender, EventArgs e)과 함께 발생합니다 ... 내가 클릭 한 위치에 Popup 컨트롤을 표시해야합니다.WinRT - 손가락/마우스 위치

이제 위치를 얻을 수있는 곳을 직접 물어보고 있습니다. 나는에서 도청?! ?? 위치를 얻는 쉬운 방법이 있습니까?

답변

3

많은 알 수없는 질문이있는 것 같습니다. 예를 들어 어떤 이벤트가 발생했는지는 언급하지 않지만 이벤트의 발신자를 받아서 UIElement 또는 다른 예상 유형으로 전송할 수 있습니다. 다음과 같이 호출하여 요소의 위치를 ​​추출 할 수 있습니다.

var position = element 
    .TransformToVisual(Window.Current.Content) 
    .TransformPoint(new Point()); 

터치 나 마우스 키 누름의 실제 위치를 얻으려면 - 당신이 중 하나를 수행 할 수 있습니다 기본 캔버스에 PointerPressed 이벤트에 가입하려고하고 당신이있어 위치 또는 경우 경우 위의 해당 코드에 new Point() 교체 (핸들러가 호출되지 않습니다.) - VisualTreeHelper을 사용하여 시각적 트리를 탐색하고 해당 Canvas의 하위 요소에서 해당 이벤트를 구독하려고 시도 할 수 있습니다.

+0

마침내 나는 내 포인터를 어디서 눌렀 는가? :) 지금 나는 포인터 좌표에서 내 격자 안의 내 패널을 어떻게 배치 할 수 있는지 자신에게 질문하고있다. 이미 그리드에 상대적인 포인터가 있습니다. – JuHwon