GraphicsView
.NET Multi-platform App UI (.NET MAUI) GraphicsView adalah kanvas grafis tempat grafik 2D dapat digambar menggunakan jenis dari Microsoft.Maui.Graphics namespace. Untuk informasi selengkapnya tentang Microsoft.Maui.Graphics, lihat Grafik.
GraphicsViewDrawable
menentukan properti, jenis IDrawable
, yang menentukan konten yang akan digambar. Properti ini didukung oleh BindableProperty, yang berarti dapat menjadi target pengikatan data, dan ditata.
GraphicsView mendefinisikan peristiwa berikut:
StartHoverInteraction
, denganTouchEventArgs
, yang dinaikkan ketika pointer memasuki area uji hit dari GraphicsView.MoveHoverInteraction
, denganTouchEventArgs
, yang dinaikkan ketika pointer bergerak sementara penunjuk tetap berada dalam area uji hit dari GraphicsView.EndHoverInteraction
, yang dinaikkan ketika pointer meninggalkan area uji hit dari GraphicsView.StartInteraction
, denganTouchEventArgs
, yang dinaikkan ketika ditekan GraphicsView .DragInteraction
, denganTouchEventArgs
, yang dinaikkan ketika diseret GraphicsView .EndInteraction
, denganTouchEventArgs
, yang dimunculkan ketika pers yang menaikkanStartInteraction
peristiwa dirilis.CancelInteraction
, yang dinaikkan ketika pers yang melakukan kontak dengan kontak yang GraphicsView hilang.
Membuat GraphicsView
GraphicsView harus menentukan IDrawable
objek yang menentukan konten yang akan digambar pada kontrol. Ini dapat dicapai dengan membuat objek yang berasal dari IDrawable
, dan dengan menerapkan metodenya Draw
:
namespace MyMauiApp
{
public class GraphicsDrawable : IDrawable
{
public void Draw(ICanvas canvas, RectF dirtyRect)
{
// Drawing code goes here
}
}
}
Metode Draw
ini memiliki ICanvas argumen dan RectF
. Argumen ICanvas adalah kanvas gambar tempat Anda menggambar objek grafis. Argumen RectF
adalah struct
yang berisi data tentang ukuran dan lokasi kanvas gambar. Untuk informasi selengkapnya tentang menggambar pada ICanvas, lihat Menggambar objek grafis.
Di XAML, IDrawable
objek dapat dideklarasikan sebagai sumber daya dan kemudian dikonsumsi oleh dengan GraphicsView menentukan kuncinya sebagai nilai Drawable
properti:
<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>
Posisi dan ukuran objek grafis
Lokasi dan ukuran ICanvas pada halaman dapat ditentukan dengan memeriksa properti RectF
argumen dalam Draw
metode .
Struktur RectF
menentukan properti berikut:
Bottom
, dari jenisfloat
, yang mewakili koordinat y dari tepi bawah kanvas.Center
, dari jenisPointF
, yang menentukan koordinat pusat kanvas.Height
, dari jenisfloat
, yang mendefinisikan tinggi kanvas.IsEmpty
, dari jenisbool
, yang menunjukkan apakah kanvas memiliki ukuran dan lokasi nol.Left
, dari jenisfloat
, yang mewakili koordinat x dari tepi kiri kanvas.Location
, dari jenisPointF
, yang mendefinisikan koordinat sudut kiri atas kanvas.Right
, dari jenisfloat
, yang mewakili koordinat x dari tepi kanan kanvas.Size
, dari jenisSizeF
, yang mendefinisikan lebar dan tinggi kanvas.Top
, dari jenisfloat
, yang mewakili koordinat y dari tepi atas kanvas.Width
, dari jenisfloat
, yang mendefinisikan lebar kanvas.X
, dari jenisfloat
, yang mendefinisikan koordinat x dari sudut kiri atas kanvas.Y
, dari jenisfloat
, yang mendefinisikan koordinat y dari sudut kiri atas kanvas.
Properti ini dapat digunakan untuk memposisikan dan mengukur objek grafis pada ICanvas. Misalnya, objek grafis dapat ditempatkan di tengah Canvas
dengan menggunakan Center.X
nilai dan Center.Y
sebagai argumen ke metode menggambar. Untuk informasi tentang menggambar pada ICanvas, lihat Menggambar objek grafis.
Membatalkan validasi kanvas
GraphicsView memiliki Invalidate
metode yang menginformasikan kanvas bahwa ia perlu menggambar ulang dirinya sendiri. Metode ini harus dipanggil pada GraphicsView instans:
graphicsView.Invalidate();
.NET MAUI secara otomatis membatalkan GraphicsView sesuai kebutuhan oleh UI. Misalnya, ketika elemen pertama kali ditampilkan, terlihat, atau diungkapkan dengan memindahkan elemen dari atasnya, elemen akan digambar ulang. Satu-satunya waktu yang perlu Anda panggil Invalidate
adalah ketika Anda ingin memaksa GraphicsView untuk menggambar ulang dirinya sendiri, seperti jika Anda telah mengubah kontennya saat masih terlihat.
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk