2009-12-16 3 views
0

Silverlight에서 LineGeometry 요소의 EndPoint를 커서 위치로 설정하여 Canvas에 선을 그려 넣으려고합니다. 캔버스 'MouseMove 이벤트에서 나는 이렇게하고있다 :Silverlight : Canvas의 LineGeometry가 커서를 따라 가지 않습니다.

line.EndPoint = e.GetPosition (this);

"this"는 Canvas입니다.

"line"은 GeometryGroup에 추가 된 LineGeometry 요소이며, GeometryGroup은 Canvas 'Children 컬렉션에 추가 된 경로 개체에 추가됩니다.

선이 캔버스에 나타나지 않습니다. 이 원인은 무엇입니까?

답변

0

이것은 잘 이해할 수있는 영역이 아니며 다른 사람이 아직 답변하지 않았기 때문에 응답하고 있습니다. 하지만 문제는 라인의 EndPoint가 컨테이너 (GeometryGroup)를 기준으로 정의되었지만 e.GetPosition (this)에 의해 반환 된 Point 구조가 컨트롤을 포함한다는 것입니다. 올바른 점을 얻기 위해 e.GetPosition (this)에 변형을 적용해야 할 수도 있습니다. 변환이 작동하는 방법에 대한 자세한 내용은 here을 참조하십시오.

관련 문제