2016-07-21 2 views
0

마우스 다운 이벤트에 핸들러를 연결하여 adorner에서 마우스 클릭 위치를 얻으려고합니다. adorner는 직사각형의 오른쪽 하단 모서리에 위치한 반경 10unit의 원입니다. x와 y 모두 [0-10] 범위의 좌표를 얻을 것으로 예상되지만 +100을 얻고 있습니다. adorner의 핸들러에서 e.GetPosition (this)을 호출하고 있습니다.UIElement를 기준으로 클릭 마우스 위치 가져 오기

답변

0

마우스 포인터의 위치는 요소의 왼쪽 위 모서리가 요소의 "중심"이 아니라 원점이되도록 원하는 요소를 기준으로 계산된다는 점에 유의해야합니다. GetPostion()에서 검색 한 결과를 사용하여 위치를 계산해야합니다. here 예제를 참조하십시오

+0

Ofc 전적으로 동의합니다.하지만 10 단위 반지름 원형의 경우 원의 내부를 클릭 할 때 좌표 값의 가능한 범위는 [0-20]이며 그 이상을 얻고 있습니다. –

+0

이상한 결과가 나오면 GetPosition을 호출 할 때 adorner에 있는지 확인하십시오. 그렇지 않으면 0 또는 다른 adorner와의 거리가 반환됩니다. –

+0

다음 위치에서 정의 된 마우스 down 이벤트 핸들러에서 위치를 얻습니다. 그것을 자기 자신의 e.GetPosition (this) –

관련 문제