Canvas와 Ruler가있는 WPF 응용 프로그램이 있습니다. 이제 Canvas OnMouseMove (MouseEventArgs e)를 Ruler에 전달하여 마우스 이동을 스케일에 반영해야합니다. 두 컨트롤은 초기화하는 동안 독립적으로 만들어지며 서로 알지 못합니다. Canvas에서 마우스 위치를 Ruler로 어떻게 옮길 수 있습니까?캔버스에서 마우스 위치를 눈금자로 어떻게 옮길 수 있습니까?
0
A
답변
0
MouseEventArgs에는 매개 변수로 IInputElement를 전달할 수있는 GetPosition 개의 메소가 있으며 지정된 요소를 기준으로 마우스 포인터의 위치를 반환합니다. Ruler를 매개 변수 값으로 전달하십시오.
0
해결책을 찾았지만 여전히 의문이 있습니다.
는 "부모"로캔버스 제어 코드의이 작품이 포함되어 : 그것은 복잡 조금 날 것으로 보인다
공공 포인트 MousePosition { GET {리턴 (포인트) GetValue (MousePositionProperty를); } set {SetValue (MousePositionProperty, value); } }
public static readonly DependencyProperty MousePositionProperty = DependencyProperty.Register("MousePosition", typeof(Point), typeof(DesignerCanvas), new UIPropertyMetadata(point)); protected override void OnMouseMove(MouseEventArgs e) { base.OnMouseMove(e); MousePosition = e.GetPosition(this);
은}
눈금자는 다음과 같은 코드가 포함
공공 포인트 위치 { GET {리턴 (포인트) GetValue (PositionProperty를); } set {SetValue (PositionProperty, value);
public static readonly DependencyProperty PositionProperty = DependencyProperty.Register("Position", typeof(Point), typeof(HorizontalRuler), new UIPropertyMetadata(defaultMousePoint, new PropertyChangedCallback(PositionPropertyChangedCallback))); private static void PositionPropertyChangedCallback(DependencyObject sender, DependencyPropertyChangedEventArgs e) { HorizontalRuler horizontalRuler = (HorizontalRuler)sender; horizontalRuler.InvalidateVisual(); }
관련 문제
- 1. 캔버스에서 직사각형의 위치를 얻으려면
- 2. 마우스 위치를 어떻게 설정할 수 있습니까?
- 3. 어떻게 파일을 인수 경로로 옮길 수 있습니까?
- 4. 보드 조각을 어떻게 옮길 수 있습니까?
- 5. 어떻게 sdk를 다른 계정으로 옮길 수 있습니까?
- 6. 선택한 파일을 어떻게 폴더로 옮길 수 있습니까?
- 7. 캔버스에서 ContextMenu의 위치를 식별 하시겠습니까?
- 8. OpenGL/Glut에서 마우스 커서의 위치를 어떻게 바꿀 수 있습니까?
- 9. 내 Java 응용 프로그램에서 어떻게 마우스 위치를 가져올 수 있습니까?
- 10. 문서 외부에서 마우스 위치를 잡을 수 있습니까?
- 11. Java에서 마우스 위치를 어떻게 설정합니까?
- 12. 어떻게 PHP를 사용하여 파일을 다른 폴더로 옮길 수 있습니까?
- 13. 캔버스에서 요소 위치를 추적하는 방법은 무엇입니까?
- 14. HTML5 캔버스에서 마우스 오버시 그라디언트 색상 변경
- 15. iOS에서 앱을 옮길 때처럼 위치를 변경합니다.
- 16. 화면에서 마우스 위치를 확인하십시오.
- 17. 회전 후 HTML5 캔버스에서 점의 위치를 어떻게 계산합니까?
- 18. 캔버스에서 WebGL 컨텍스트로 마우스 오른쪽 버튼을 클릭하십시오.
- 19. Quality Center에서 Bugzilla로 결함을 옮길 수 있습니까?
- 20. php-mode 설정을 .emacs에서 .dir-locals.el로 어떻게 옮길 수 있습니까?
- 21. 어떻게 한 pc에서 다른 pc로 InnoDB 테이블을 옮길 수 있습니까?
- 22. 어떻게 app.config를 솔루션 탐색기 내의 다른 폴더로 옮길 수 있습니까?
- 23. 이 Ajax 프로그램을 어떻게 WordPress로 옮길 수 있습니까?
- 24. 그들은 어떻게 이전 콘솔 게임을 iPhone이나 Android로 옮길 수 있습니까?
- 25. JButton의 html 텍스트를 어떻게 왼쪽으로 옮길 수 있습니까?
- 26. Knockout.js 데이터 바인딩을 어떻게 머리 부분의 함수로 옮길 수 있습니까?
- 27. 가속도계 센서를 통해 레이아웃을 어떻게 옮길 수 있습니까?
- 28. 어떻게 일치하는 파일을 다른 디렉토리로 옮길 수 있습니까?
- 29. 어떻게 확장하여 다른 객체를 HTML 페이지로 옮길 수 있습니까?
- 30. 어떻게 TinyMCE의 툴바를 모달 팝업으로 옮길 수 있습니까?
} }이 도움을 주셔서 감사합니다,하지만 당신은 내 컨트롤이 연결되지 않은 것을 잊어 버렸습니다. – user1135594