Bagikan melalui


Geometry Kelas

Definisi

Menyediakan kelas dasar untuk objek yang menentukan bentuk geometris. Objek geometri dapat digunakan untuk mengklip wilayah dan sebagai definisi geometri untuk merender data grafis dua dimensi sebagai Jalur.

public ref class Geometry : DependencyObject
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.WinUIContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class Geometry : DependencyObject
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.UI.Xaml.WinUIContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public class Geometry : DependencyObject
Public Class Geometry
Inherits DependencyObject
Warisan
Object Platform::Object IInspectable DependencyObject Geometry
Turunan
Atribut

Keterangan

Untuk properti yang mengambil Geometri, Anda perlu menentukan jenis Geometri turunan nonabstrak, sebagai elemen objek untuk XAML, atau sebagai instans yang ditentukan untuk kode. Untuk detailnya, lihat halaman referensi untuk EllipseGeometry, GeometryGroup, LineGeometry, PathGeometry, atau RectangleGeometry.

Geometri dapat dikonsepkan sebagai "sederhana" atau "kompleks". EllipseGeometry, LineGeometry, dan RectangleGeometry adalah geometri sederhana, yang menentukan bentuk geometris sebagai satu elemen dengan properti koordinat atau dimensi dasar. GeometryGroup dan PathGeometry adalah geometri yang kompleks. GeometryGroup menggabungkan geometri lain yang dipegangnya sebagai objek anak. PathGeometry menggunakan sekumpulan elemen definisi jalur gambar/segmen berlapis, atau sintaks string ringkas yang biasanya dihasilkan oleh desainer, untuk menggambarkan jalur kompleks untuk geometri.

Geometri tidak sepenuhnya mendefinisikan penyajiannya sendiri, karena itu bukan UIElement itu sendiri dan perlu disediakan sebagai beberapa nilai properti untuk UIElement untuk menyebabkan efek penyajian. Biasanya, Geometri disediakan sebagai data untuk Jalur (yang merupakan jenis Bentuk).

Properti PathIcon.Data mengambil Geometri. Dalam praktiknya, Anda biasanya akan menentukan PathGeometry untuk ini, dengan nilai properti Gambar yang dinyatakan dalam sintaks string ringkas untuk jalur.

GeometryCollection adalah koleksi yang sangat diketik untuk item Geometri. Properti GeometryGroup.Children menggunakan GeometryCollection.

Geometri versus Bentuk

Kelas Bentuk memiliki properti Isian, Goresan, dan penyajian lainnya yang tidak memiliki Geometri dan kelas turunannya. Kelas Shape adalah FrameworkElement dan karenanya berpartisipasi dalam sistem tata letak; kelas turunannya dapat digunakan sebagai konten elemen apa pun yang mendukung anak-anak UIElement . Kelas Geometri, di sisi lain, hanya mendefinisikan geometri sebagai grafik primitif, dan tidak dapat merender dirinya sendiri. Anda dapat menggunakan Geometri sebagai jenis properti untuk properti elemen UI kustom di mana ekspresi primitif grafis dasar yang diaktifkan oleh Geometri berguna sebagai definisi.

Geometri untuk UIElement.Clip

Untuk memberikan nilai untuk properti UIElement.Clip di Windows Runtime, Anda harus secara khusus menggunakan RectangleGeometry, bukan jenis turunan Geometri apa pun. Jika Anda memindahkan XAML atau kode dari kerangka kerja XAML lainnya, lihat apakah Anda dapat mengubah UIElement.Clip untuk menggunakan RectangleGeometry. Jika tidak, Anda mungkin perlu mengubah hubungan urutan Z dan menggunakan teknik seperti overlay ImageBrush dengan sumber RenderTargetBitmap yang dimodifikasi yang memiliki transparansi alfa untuk bagian "kliping".

Kelas turunan geometri

Geometri adalah kelas induk untuk beberapa kelas turunan yang menentukan berbagai kategori geometri praktis:

Properti

Bounds

Mendapatkan Rect yang menentukan kotak batas rata sumbu dari Geometri.

Dispatcher

Selalu kembali null di aplikasi SDK Aplikasi Windows. Gunakan DispatcherQueue sebagai gantinya .

(Diperoleh dari DependencyObject)
DispatcherQueue

DispatcherQueue Mendapatkan yang dikaitkan dengan objek ini. DispatcherQueue mewakili fasilitas yang dapat mengakses DependencyObject pada utas UI bahkan jika kode dimulai oleh utas non-UI.

(Diperoleh dari DependencyObject)
Empty

Mendapatkan objek geometri kosong.

StandardFlatteningTolerance

Mendapatkan toleransi standar yang digunakan untuk perkiraan poligonal.

Transform

Mendapatkan atau mengatur objek Transformasi yang diterapkan ke Geometri.

TransformProperty

Mengidentifikasi properti Transformasi dependensi.

Metode

ClearValue(DependencyProperty)

Menghapus nilai lokal properti dependensi.

(Diperoleh dari DependencyObject)
GetAnimationBaseValue(DependencyProperty)

Mengembalikan nilai dasar apa pun yang ditetapkan untuk properti dependensi, yang akan berlaku dalam kasus di mana animasi tidak aktif.

(Diperoleh dari DependencyObject)
GetValue(DependencyProperty)

Mengembalikan nilai efektif properti dependensi saat ini dari DependencyObject.

(Diperoleh dari DependencyObject)
ReadLocalValue(DependencyProperty)

Mengembalikan nilai lokal properti dependensi, jika nilai lokal ditetapkan.

(Diperoleh dari DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Mendaftarkan fungsi pemberitahuan untuk mendengarkan perubahan pada DependencyProperty tertentu pada instans DependencyObject ini.

(Diperoleh dari DependencyObject)
SetValue(DependencyProperty, Object)

Mengatur nilai lokal properti dependensi pada DependencyObject.

(Diperoleh dari DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

Membatalkan pemberitahuan perubahan yang sebelumnya terdaftar dengan memanggil RegisterPropertyChangedCallback.

(Diperoleh dari DependencyObject)

Berlaku untuk

Lihat juga