GraphicsView
.NET 다중 플랫폼 앱 UI(.NET MAUI) GraphicsView 는 네임스페이스의 형식 Microsoft.Maui.Graphics 을 사용하여 2D 그래픽을 그릴 수 있는 그래픽 캔버스입니다. 자세한 Microsoft.Maui.Graphics내용은 그래픽을 참조 하세요.
GraphicsView 는 Drawable
그릴 콘텐츠를 지정하는 형식 IDrawable
의 속성을 정의합니다. 이 속성은 BindableProperty데이터 바인딩의 대상이 될 수 있으며 스타일이 지정될 수 있다는 의미입니다.
GraphicsView 는 다음 이벤트를 정의합니다.
StartHoverInteraction
-TouchEventArgs
포인터가 .의 GraphicsView적중 테스트 영역에 들어갈 때 발생합니다.MoveHoverInteraction
-TouchEventArgs
포인터가 다시 기본 때 포인터가 이동할 때 발생합니다GraphicsView.EndHoverInteraction
포인터가 적중 횟수 테스트 영역을 떠날 때 발생합니다 GraphicsView.StartInteraction
을 누르면 발생되는GraphicsView/a0 TouchEventArgs
>입니다.DragInteraction
을 사용하여TouchEventArgs
GraphicsView 끌어다 집니다.EndInteraction
이벤트를 발생시킨 언론이 릴리스될 때 발생하는StartInteraction/a0 TouchEventArgs
>입니다.CancelInteraction
는 접촉한 언론이 접촉을 GraphicsView 잃을 때 제기됩니다.
GraphicsView 만들기
A는 GraphicsView 컨트롤에 IDrawable
그릴 콘텐츠를 지정하는 개체를 정의해야 합니다. 이 작업은 파생IDrawable
되는 개체를 만들고 해당 메서드를 구현하여 수행할 수 있습니다.Draw
namespace MyMauiApp
{
public class GraphicsDrawable : IDrawable
{
public void Draw(ICanvas canvas, RectF dirtyRect)
{
// Drawing code goes here
}
}
}
메서드에는 Draw
인수와 인수가 ICanvas 있습니다 RectF
. ICanvas 인수는 그래픽 개체를 그리는 그리기 캔버스입니다. 인수는 RectF
struct
그리기 캔버스의 크기와 위치에 대한 데이터를 포함하는 인수입니다. 그리기에 ICanvas대한 자세한 내용은 그래픽 개체 그리기를 참조 하세요.
XAML에서 개체를 IDrawable
리소스로 선언한 다음 해당 키를 속성 값 Drawable
으로 지정하여 사용할 GraphicsView 수 있습니다.
<ContentPage xmlns=http://schemas.microsoft.com/dotnet/2021/maui
xmlns:x=http://schemas.microsoft.com/winfx/2009/xaml
xmlns:drawable="clr-namespace:MyMauiApp"
x:Class="MyMauiApp.MainPage">
<ContentPage.Resources>
<drawable:GraphicsDrawable x:Key="drawable" />
</ContentPage.Resources>
<VerticalStackLayout>
<GraphicsView Drawable="{StaticResource drawable}"
HeightRequest="300"
WidthRequest="400" />
</VerticalStackLayout>
</ContentPage>
그래픽 개체의 위치 및 크기 지정
메서드에서 인수 Draw
의 ICanvas 속성을 RectF
검사하여 페이지의 위치와 크기를 확인할 수 있습니다.
구조체는 RectF
다음 속성을 정의합니다.
Bottom
- 캔버스 아래쪽 가장자리의 y 좌표를 나타내는 형식float
입니다.Center
- 캔버스 가운데의 좌표를 지정하는 형식PointF
입니다.Height
캔버스의 높이를 정의하는 형식float
의 입니다.IsEmpty
- 캔버스의 크기와 위치가 0인지 여부를 나타내는 형식bool
입니다.Left
캔버스 왼쪽 가장자리의 x 좌표를 나타내는 형식float
의 입니다.Location
- 캔버스의 왼쪽 위 모서리 좌표를 정의하는 형식PointF
입니다.Right
캔버스 오른쪽 가장자리의 x 좌표를 나타내는 형식float
의 입니다.Size
캔버스의 너비와 높이를 정의하는 형식SizeF
의 입니다.Top
- 캔버스 위쪽 가장자리의 y 좌표를 나타내는 형식float
입니다.Width
캔버스의 너비를 정의하는 형식float
의 입니다.X
- 캔버스의 왼쪽 위 모서리에 대한 x 좌표를 정의하는 형식float
입니다.Y
- 캔버스의 왼쪽 위 모서리에 대한 y 좌표를 정의하는 형식float
입니다.
이러한 속성을 사용하여 그래픽 개체 ICanvas의 위치를 지정하고 크기를 지정할 수 있습니다. 예를 들어 그리기 메서드에 대한 인수로 값과 Center.Y
값을 사용하여 Center.X
그래픽 개체를 가운데 Canvas
에 배치할 수 있습니다. 그리기에 ICanvas대한 자세한 내용은 그래픽 개체 그리기를 참조 하세요.
캔버스 무효화
GraphicsView 에는 Invalidate
캔버스 자체를 다시 그릴 필요가 있음을 알리는 메서드가 있습니다. 이 메서드는 인스턴스에서 호출되어야 합니다.GraphicsView
graphicsView.Invalidate();
.NET MAUI는 필요에 따라 UI를 GraphicsView 자동으로 무효화합니다. 예를 들어 요소가 처음 표시되거나, 보기로 들어오거나, 요소를 위쪽에서 이동하여 표시되면 다시 그려집니다. 호출 Invalidate
해야 하는 유일한 시간은 콘텐츠를 계속 볼 수 있는 동안 변경한 경우와 같이 강제로 GraphicsView 다시 그리려는 경우입니다.
.NET MAUI
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기