사각형을 포함하는 필드를 만들려고합니다. 드래그 가능한 동안, 직사각형은 필드의 경계를 넘어서는 안된다. 정확히 그 기능을 가진 테두리로 사용할 수있는 요소가 있습니까?(C# XAML) 필드 내에 사각형을 유지하는 방법
0
A
답변
0
한계 검사를 관리 할 요소가 없지만 컨테이너 요소에 가장 적합한 옵션은 Canvas
입니다. 이 요소는 상대적 위치 지정 (Margin
, HorizontalAlignment
및 VerticalAlignment
을 사용)보다는 절대 위치 지정 (예 : Canvas.Left
,)을 사용합니다. 이렇게하면 끌어다 놓기 (자식 요소의 위치를 다시 잡는 데 사용됨)가 훨씬 수월합니다.
Rectangle
은 부모 가장자리 인 Canvas
을 수동으로 통과해야하지만 쉽습니다. 그것은 같이 보일 것입니다 : xoffset이가 MouseMove
이벤트와 Rectangle
의 원래 위치의 MouseEventArgs
계산할 수있다
private void DoMoveX(double left, double xOffset)
{
if (left + xOffset < 0)
Canvas.SetLeft(this, 0);
else if (left + xOffset > ParentCanvas.ActualWidth - this.ActualWidth)
Canvas.SetLeft(this, ParentCanvas.ActualWidth - this.ActualWidth);
else
Canvas.SetLeft(this, GetSnapValue(left + xOffset));
}
. 위의 발췌 부분에서 this
이 하위 요소 (ParentCanvas에 대한 참조가 있음)이지만 쉽게 반전하여 Canvas
또는 Window
또는 무언가가 운동을 관리하도록 할 수 있습니다.
관련 문제
- 1. Xaml : C# 스타일 일관성 유지하는 방법
- 2. UICollectionViewFlowLayout을 UICollectionView 내에 유지하는 방법
- 3. 그리드 레이아웃의 내용을 화면 내에 유지하는 방법
- 4. C++로 사각형을 만드는 방법
- 5. 이미지 내에 필드 삽입
- 6. 백그라운드에서 활성화하는 방법 C# xaml
- 7. 하위 엔티티의 필드 관계를 유지하는 방법
- 8. ASP.NET MVC : 필드 바이트를 유지하는 방법 []
- 9. 추가 필드 데이터 jquery를 유지하는 방법
- 10. XAML 내에 스크립팅 언어 코드가 포함되어 있습니까?
- 11. XAML WPF 내에 Winforms 폼 삽입
- 12. 사용 방법 xaml 내에 <T>리스트?
- 13. XAML/C#
- 14. C#에서 스레드를 유지하는 방법
- 15. Infragistics/XAML - 필드 값 확인
- 16. XSLT에서 요소의 여는 태그 내에 공백을 유지하는 방법
- 17. 사전 내에 컨텍스트를 유지하는 것이 안전합니다.
- 18. 요소를 컨테이너 내에 유지하는 방법은 무엇입니까?
- 19. XAML 코드의 애니메이션을 C#
- 20. 창을 열고 XAML 파일을로드하는 방법? (XAML 및 C#)
- 21. 직사각형 필드 내에서 가변 크기의 사각형을 효율적으로 배치
- 22. 여러 사각형을 그리는 방법
- 23. C# WPF 모든 사각형을 렌더링하지 않습니다.
- 24. 쉘 스크립팅에 사각형을 넣는 방법
- 25. MVVM WP8 C#/xaml
- 26. Canvas에 사각형을 지정하는 방법
- 27. 배경 사각형을 제거하는 방법?
- 28. 버퍼 사각형을 이중화하는 방법
- 29. C# 코드로 Xaml 애니메이션을 실행하는 방법
- 30. C# XAML 소스 속성을 바인딩하는 방법