2016-11-21 1 views
0

두 개의 컨트롤을 화면에 배치하여 이들 사이에 "선"을 동적으로 만듭니다 (선이 이미 XAML 코드에 있고 그 선을 변경하면 나타납니다). 나는 이러한 컨트롤의 Tapped 이벤트를 잡아서 이벤트의 GetPosition()을 사용하려고 시도했지만 라인이 올바른 위치에 있지 않습니다 (각도는 정확하지만 라인이 너무 멀습니다). 일부 게시물은 PointToScreen을 사용하도록 제안되었습니다. 하지만 Visual Studio는 System.Windows.Forms를 모릅니다. 왜 ?PointToScreen을 (를) 알 수 없음

+1

귀하의 경우에는 'PointToScreen'을 적용 할 수 없습니다. 그것은 Winforms 프레임 워크의 메서드이지만 응용 프로그램은 WPF로 작성합니다. –

+0

[Visual.PointToScreen] (https://msdn.microsoft.com/en-us/library/system.windows.media.visual.pointtoscreen (v = vs.110) .aspx)을 사용할 수 있습니다. – Pikoh

+0

Ok! 올바른 프레임 워크가 아닙니다. 나는 왜 이것이 항상 일어나는 지 이제 이해합니다. 감사 ! – Myosotis

답변

1

그런가요?

public void MouseLeftButtonDown(object sender, MouseButtonEventArgs e) 
     { 
      var myControl = (YourControlType)sender;       
      var position = e.GetPosition(myControl); 
      var controlPosition= myControl.PointToScreen(position); 
     } 
+0

그것이 존재하지 않기 때문에 PointToScreen을 호출 할 수 없다는 점을 제외하고 그게 전부입니다. 아마 누락 된 어셈블리 또는 그런 것 (나는이 "참고 자료"물건에있는 것을 이해하지 못한다) – Myosotis