Point Struktur

Definisi

Mewakili nilai koordinat x dan y yang menentukan titik dalam bidang dua dimensi.

public value class Point
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.FoundationContract, 65536)]
struct Point
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.FoundationContract), 65536)]
public struct Point
var point = {
x : /* Your value */,
y : /* Your value */
}
Public Structure Point
<object property="X,Y"/>
-or
<object property="X Y"/>
Warisan
Point
Atribut

Persyaratan Windows

Rangkaian perangkat
Windows 10 (diperkenalkan dalam 10.0.10240.0)
API contract
Windows.Foundation.FoundationContract (diperkenalkan dalam v1.0)

Keterangan

Nilai Titik terkadang mewakili ruang koordinat di bidang jendela utama aplikasi, tetapi ada kemungkinan interpretasi lain dari nilai Titik yang dapat bervariasi, tergantung pada properti yang menggunakan nilai Titik.

Javascript: Di JavaScript, Titik adalah objek dengan dua properti data: x dan y. Selain x dan y, SISA API yang tercantum di sini dalam daftar Anggota titik (atau ditampilkan dalam daftar konten) tidak berlaku untuk pemrograman JavaScript.

Catatan tentang sintaks XAML

Nilai titik digunakan secara ekstensif untuk properti grafis dan properti terkait UI serupa di seluruh kosakata XAML untuk aplikasi Windows Runtime.

Spasi atau koma dapat digunakan sebagai pemisah antara nilai X dan Y . Konvensi umum untuk titik koordinat adalah menggunakan pemisah koma.

Struktur titik tidak dapat dinyatakan sebagai sumber daya dalam ResourceDictionary. Solusi potensial adalah menggunakan sumber daya x:String lalu menyuntikkannya ke dalam string yang diurai dengan XamlReader.Load.

Beberapa penggunaan XAML menggunakan jenis Titik untuk mewakili titik logis. Lihat "Titik Logis" di Keterangan.

Nilai titik dan bagaimana nilai tersebut ditafsirkan oleh properti

Beberapa (tetapi tidak semua) penggunaan jenis Titik menentukan lokasi dalam ruang koordinat. Bergantung pada konteksnya, lokasi mungkin berada dalam bingkai referensi area konten, atau mungkin berada dalam bingkai referensi untuk elemen tata letak tertentu.

X dan Y untuk Titik bisa menjadi nilai non-bilangan bulat. Namun, ini dapat memperkenalkan kemungkinan penyajian sub-piksel, yang dapat mengubah warna dan anti-alias garis lurus di sepanjang tepi sub-piksel. Begitulah cara mesin rendering XAML memperlakukan batas sub-piksel. Jadi untuk hasil terbaik, gunakan nilai bilangan bulat saat mendeklarasikan koordinat dan bentuk yang digunakan untuk penempatan dan penyajian UI.

X dan Y untuk Titik bisa negatif dalam beberapa kasus. Biasanya, ini menghasilkan Titik yang menentukan koordinat yang sengaja di luar bingkai referensi, kecuali ada terjemahan tambahan. Namun, beberapa properti XAML menolak Titik dengan X atau Y negatif sebagai nilai yang tidak valid. Batasan nilai biasanya dicatat di halaman referensi untuk properti.

Titik logika

Beberapa penggunaan jenis Titik di aplikasi Windows Runtime tidak terkait dengan bingkai referensi koordinat secara langsung. Sebaliknya, ini adalah titik logis, di mana nilai X dan Y masing-masing diharapkan antara 0 dan 1 inklusif. Ini adalah salah satu alasan mengapa nilai X dan Y mendukung nilai floating-point daripada dibatasi ke nilai bilangan bulat. Nilai titik logis ditafsirkan oleh konteks: presentasi atau perilaku utama mungkin ditentukan atau dimodifikasi oleh properti atau pengaturan yang berbeda. Terkadang titik-titik mengekspresikan informasi yang tidak terkait dengan ruang koordinat sama sekali. Contoh konsep titik logis dalam aplikasi adalah nilai Animation.KeySpline (mengimbangi animasi), RenderTransformOrigin dari UIElement, dan nilai GradientStop.Offset untuk LinearGradientBrush.

Properti Nilai titik yang merupakan penggunaan titik logis dapat membatalkan nilai kurang dari 0, atau lebih besar dari 1, tetapi spesifikasinya bervariasi menurut properti. Batasan nilai biasanya dicatat di halaman referensi untuk properti individual, bukan di sini di referensi Titik.

Nilai titik dan API grafis XAML

Elemen grafis yang digunakan untuk mendefinisikan UI XAML sering menggunakan properti Point-value untuk mendeklarasikan karakteristiknya. Misalnya, EllipseGeometry menggunakan nilai Titik untuk mengatur properti Tengahnya .

Elemen grafis menggunakan salah satu dari dua model. Beberapa elemen grafis berasal dari FrameworkElement. Elemen-elemen ini memiliki perilaku penyajian yang ditentukan ketika ditempatkan di UI dan kapan properti elemen ditetapkan. Contoh jenis elemen ini adalah Persegi panjang dan semua jenis lainnya di namespace Windows.UI.Xaml.Shapes . Elemen grafis lain tidak berasal dari FrameworkElement, dan tidak memiliki perilaku penyajiannya sendiri. Sebaliknya, elemen-elemen ini terdiri untuk memberikan nilai properti pada beberapa elemen lain yang memang memiliki perilaku penyajian. Dengan kata lain, mereka adalah data untuk model grafis yang lebih komprehensif. Misalnya, elemen grafis yang Anda gunakan untuk menyusun Path.Data, seperti LineSegment, sering memiliki properti Point-value.

Beberapa elemen grafik menggunakan beberapa nilai Titik yang diwakili dalam satu properti. Properti ini menggunakan jenis PointCollection . Setiap properti Windows Runtime yang mengambil PointCollection mendukung sintaks XAML yang mengurai string atribut untuk mendapatkan nilai X dan Y untuk beberapa titik. Contoh properti grafis yang menggunakan PointCollection adalah Polygon.Points.

Nilai titik dari peristiwa input XAML, dan tekan pengujian

Nilai Titik dikembalikan oleh data peristiwa untuk peristiwa input tertentu. Misalnya, GetCurrentPoint menyediakan nilai koordinat tempat peristiwa Pointer terjadi di UI aplikasi. Secara umum, nilai Titik ini mengacu pada bingkai referensi koordinat tertentu dan penting untuk mengetahui apa yang diwakili oleh bingkai referensi tersebut. Untuk peristiwa input, bingkai referensi secara default adalah jendela aplikasi utama, bukan layar/tampilan keseluruhan. Ini memungkinkan bingkai referensi yang konsisten jika jendela dipindahkan atau diubah ukurannya. Beberapa API seperti GetCurrentPoint dan GetPosition juga menyediakan cara untuk menerjemahkan ke bingkai referensi khusus elemen, yang berguna saat bekerja dengan peristiwa input yang ditangani oleh kontrol individu. Untuk informasi selengkapnya, lihat Menangani input penunjuk.

Pengembangan UI XAML juga memiliki konsep yang dikenal sebagai pengujian hit, di mana Anda dapat menggunakan metode utilitas untuk menguji bagaimana peristiwa input akan melaporkan info jika pengguna melakukan tindakan penunjuk di lokasi koordinat UI tertentu. Untuk mendukung konsep pengujian hit, 2 tanda tangan FindElementsInHostCoordinates menggunakan parameter input Point, seperti halnya FindSubElementsForTouchTargeting. Untuk informasi selengkapnya, lihat Interaksi mouse.

Nilai Titik Animasi

Windows Runtime menyediakan sarana untuk menganimasikan nilai properti apa pun yang menggunakan Titik sebagai nilai, selama properti tersebut diimplementasikan sebagai properti dependensi. Point memiliki jenis dukungan animasinya sendiri karena tidak dimungkinkan untuk menganimasikan nilai x dan y secara individual dari Titik. Struktur tidak dapat mendukung properti dependensi. Gunakan jenis PointAnimation untuk animasi dari ke , atau gunakan jenis turunan PointAnimationUsingKeyFrames untuk perilaku animasi bingkai kunci. Untuk informasi selengkapnya tentang cara menganimasikan nilai Titik dan cara kerja animasi di antarmuka pengguna XAML, lihat Animasi papan cerita.

Proyeksi dan anggota Point

Jika Anda menggunakan bahasa Microsoft .NET (C# atau Microsoft Visual Basic), atau ekstensi komponen Visual C++ (C++/CX), maka Point memiliki anggota non-data yang tersedia, dan anggota datanya diekspos sebagai properti baca-tulis, bukan bidang. Lihat Titik di Browser .NET API.

Jika Anda memprogram dengan C++/WinRT atau Windows Runtime C++ Template Library (WRL), maka hanya bidang anggota data yang ada sebagai anggota Point, dan Anda tidak dapat menggunakan metode utilitas atau properti proyeksi .NET. Kode C++ dapat mengakses metode utilitas serupa yang tersedia dari kelas statis PointHelper .

Tabel ini memperlihatkan metode yang setara yang tersedia di .NET dan C++.

.NET (Titik) C++ (PointHelper)
Titik(Ganda, Ganda) FromCoordinates(Single, Single)

Bidang

X

Posisi horizontal titik.

Y

Posisi vertikal titik.

Berlaku untuk

Lihat juga