Xamarin.Forms properti kontrol umum, metode, dan peristiwa
Kelas Xamarin.FormsVisualElement
adalah kelas dasar untuk sebagian besar kontrol yang digunakan dalam aplikasi Xamarin.Forms . Kelas mendefinisikan VisualElement
banyak properti, metode, dan peristiwa yang digunakan dalam kelas turunan.
Properti
Properti berikut ini tersedia pada VisualElement
objek.
AnchorX
Properti AnchorX
adalah double
nilai yang menentukan titik tengah pada sumbu X untuk transformasi seperti skala dan rotasi. Nilai defaultnya adalah 0,5.
AnchorY
Properti AnchorY
adalah double
nilai yang menentukan titik tengah pada sumbu Y untuk transformasi seperti skala dan rotasi. Nilai defaultnya adalah 0,5.
Background
Properti Background
adalah Brush
nilai yang memungkinkan kuas digunakan sebagai latar belakang dalam kontrol apa pun. Nilai defaultnya adalah Brush.Default
.
BackgroundColor
Properti BackgroundColor
adalah Color
yang menentukan warna latar belakang kontrol. Jika tidak diatur, latar belakang akan menjadi objek default Color
, yang dirender sebagai transparan.
Behaviors
Properti Behaviors
adalah List
Behavior
objek. Perilaku memungkinkan Anda melampirkan fungsionalitas yang dapat digunakan kembali ke elemen dengan menambahkannya ke Behaviors
daftar. Untuk informasi selengkapnya tentang Behavior
kelas, lihat Xamarin.Forms Perilaku.
Bounds
Properti Bounds
adalah objek baca-saja Rectangle
yang mewakili ruang yang ditempati oleh kontrol. Nilai Bounds
properti ditetapkan selama siklus tata letak. Rectangle
struct
berisi properti dan metode yang berguna untuk menguji persimpangan dan penahanan persegi panjang. Untuk informasi selengkapnya, lihat Xamarin.Forms API Persegi Panjang.
Clip
Properti Clip
adalah Geometry
objek yang menentukan kerangka konten elemen. Untuk menentukan klip, gunakan Geometry
objek seperti EllipseGeometry
untuk mengatur properti elemen Clip
. Hanya area yang berada di dalam wilayah geometri yang akan terlihat. Untuk informasi selengkapnya, lihat Klip dengan Geometri.
Effects
Properti Effects
adalah List
Effect
objek, yang diwarisi dari Element
kelas . Efek memungkinkan kontrol asli disesuaikan, dan biasanya digunakan untuk perubahan gaya kecil. Untuk informasi selengkapnya tentang Effect
kelas, lihat Xamarin.Forms Efek.
FlowDirection
Properti FlowDirection
adalah FlowDirection
nilai enum. Arah alur dapat diatur ke MatchParent
, LeftToRight
, atau RightToLeft
dan menentukan urutan dan arah tata letak. Properti FlowDirection
ini biasanya digunakan untuk mendukung bahasa yang membaca kanan-ke-kiri.
Height
Properti Height
adalah nilai baca-saja double
yang menjelaskan tinggi kontrol yang dirender. Properti Height
dihitung selama siklus tata letak dan tidak dapat diatur secara langsung. Tinggi kontrol dapat diminta menggunakan properti HeightRequest.
HeightRequest
Properti HeightRequest
adalah double
nilai yang menentukan tinggi kontrol yang diinginkan. Tinggi absolut kontrol mungkin tidak cocok dengan nilai yang diminta. Untuk informasi selengkapnya, lihat Meminta properti.
InputTransparent
Properti InputTransparent
adalah bool
yang menentukan apakah kontrol menerima input pengguna. Nilai defaultnya adalah false
, memastikan bahwa elemen menerima input. Properti ini ditransfer ke elemen turunan saat diatur. Mengatur properti ke InputTransparent
true
pada kelas tata letak akan mengakibatkan semua elemen dalam tata letak tidak menerima input.
IsEnabled
Properti IsEnabled
adalah bool
nilai yang menentukan apakah kontrol bereaksi terhadap input pengguna. Nilai defaultnya adalah true
. Mengatur properti ini ke false akan mencegah kontrol menerima input pengguna.
IsFocused
Properti IsFocused
adalah bool
nilai yang menjelaskan apakah kontrol saat ini adalah objek yang difokuskan. Memanggil Focus
metode pada kontrol akan mengakibatkan IsFocused
nilai diatur ke true. Memanggil Unfocus
metode akan mengatur properti ini ke false.
IsTabStop
Properti IsTabStop
adalah bool
nilai yang menentukan apakah kontrol menerima fokus saat pengguna maju melalui kontrol dengan kunci tab. Jika properti ini salah, TabIndex
properti tidak akan berpengaruh.
IsVisible
Properti IsVisible
adalah bool
nilai yang menentukan apakah kontrol dirender. Kontrol dengan properti yang IsVisible
diatur ke false tidak akan ditampilkan, tidak akan dipertimbangkan untuk perhitungan ruang selama siklus tata letak, dan tidak dapat menerima input pengguna.
MinimumHeightRequest
Properti MinimumHeightRequest
adalah double
nilai yang menentukan bagaimana luapan ditangani ketika dua elemen bersaing untuk ruang terbatas. MinimumHeightRequest
Mengatur properti memungkinkan proses tata letak untuk menurunkan skala elemen ke dimensi minimum yang diminta. Jika tidak MinimumHeightRequest
ada yang ditentukan, nilai defaultnya adalah -1 dan proses tata letak akan menganggapnya HeightRequest
sebagai nilai minimum. Ini berarti bahwa elemen tanpa MinimumHeightRequest
nilai tidak akan memiliki tinggi yang dapat diskalakan.
Untuk informasi selengkapnya, lihat Properti permintaan minimum.
MinimumWidthRequest
Properti MinimumWidthRequest
adalah double
nilai yang menentukan bagaimana luapan ditangani ketika dua elemen bersaing untuk ruang terbatas. MinimumWidthRequest
Mengatur properti memungkinkan proses tata letak untuk menurunkan skala elemen ke dimensi minimum yang diminta. Jika tidak MinimumWidthRequest
ada yang ditentukan, nilai defaultnya adalah -1 dan proses tata letak akan menganggapnya WidthRequest
sebagai nilai minimum. Ini berarti bahwa elemen tanpa MinimumWidthRequest
nilai tidak akan memiliki lebar yang dapat diskalakan.
Untuk informasi selengkapnya, lihat Properti permintaan minimum.
Opacity
Properti Opacity
adalah double
nilai dari nol hingga satu yang menentukan keburaman kontrol selama penyajian. Nilai default untuk properti ini adalah 1,0. Nilai di luar rentang dari 0 hingga 1 akan dijepit. Properti Opacity
hanya diterapkan jika IsVisible
properti adalah true
. Opasitas diterapkan secara berulang. Oleh karena itu jika kontrol induk memiliki 0,5 opasitas dan anaknya memiliki 0,5 opasitas, anak akan merender dengan nilai opasitas 0,25 yang efektif. Opacity
Mengatur properti kontrol input ke 0 memiliki perilaku yang tidak ditentukan.
Parent
Properti Parent
diwariskan dari Element
kelas . Properti ini adalah Element
objek yang merupakan induk kontrol. Properti Parent
biasanya diatur secara otomatis pada elemen saat ditambahkan sebagai anak dari elemen lain.
Resources
Properti Resources
adalah ResourceDictionary
instans yang diisi dengan pasangan kunci/nilai yang biasanya diisi pada runtime dari XAML. Kamus ini memungkinkan pengembang aplikasi untuk menggunakan kembali objek yang ditentukan dalam XAML pada waktu kompilasi dan run time. Kunci dalam kamus diisi dari x:Key
atribut tag XAML. Objek yang dibuat dari XAML dimasukkan ke ResourceDictionary
dalam untuk kunci yang ditentukan. setelah diinisialisasi.
Untuk informasi selengkapnya, lihat Kamus Sumber Daya.
Rotation
Properti Rotation
adalah double
nilai antara nol dan 360 yang menentukan rotasi tentang sumbu Z dalam derajat. Nilai default properti ini adalah 0. Rotasi diterapkan relatif terhadap AnchorX
nilai dan AnchorY
.
RotationX
Properti RotationX
adalah double
nilai antara nol dan 360 yang menentukan rotasi tentang sumbu X dalam derajat. Nilai default properti ini adalah 0. Rotasi diterapkan relatif terhadap AnchorX
nilai dan AnchorY
.
RotationY
Properti RotationY
adalah double
nilai antara nol dan 360 yang menentukan rotasi tentang sumbu Y dalam derajat. Nilai default properti ini adalah 0. Rotasi diterapkan relatif terhadap AnchorX
nilai dan AnchorY
.
Scale
Properti Scale
adalah double
nilai yang menentukan skala kontrol. Nilai default properti ini adalah 1,0. Skala diterapkan relatif terhadap AnchorX
nilai dan AnchorY
.
ScaleX
Properti ScaleX
adalah double
nilai yang menentukan skala kontrol di sepanjang sumbu X. Nilai default properti ini adalah 1,0. Properti ScaleX
diterapkan relatif terhadap AnchorX
nilai.
ScaleY
Properti ScaleY
adalah double
nilai yang menentukan skala kontrol di sepanjang sumbu Y. Nilai default properti ini adalah 1,0. Properti ScaleY
diterapkan relatif terhadap AnchorY
nilai.
Style
Properti Style
diwariskan dari NavigableElement
kelas . Properti ini adalah instans Style
kelas. Kelas Style
berisi pemicu, setter, dan perilaku yang menentukan tampilan dan perilaku elemen visual. Untuk informasi selengkapnya, lihat Xamarin.Forms Gaya XAML.
StyleClass
Properti StyleClass
adalah daftar string
objek yang mewakili nama Style
kelas. Properti ini diwariskan dari NavigableElement
kelas . Properti StyleClass
memungkinkan beberapa atribut gaya diterapkan ke VisualElement
instans. Untuk informasi selengkapnya, lihat Xamarin.Forms Kelas Gaya.
TabIndex
Properti TabIndex
adalah int
nilai yang menentukan urutan kontrol saat maju melalui kontrol dengan tombol tab. Properti TabIndex
adalah implementasi untuk properti yang ditentukan pada ITabStopElement
antarmuka, yang diterapkan VisualElement
kelas.
TranslationX
Properti TranslationX
adalah double
nilai yang menentukan terjemahan delta yang akan diterapkan pada sumbu X. Terjemahan diterapkan setelah tata letak dan biasanya digunakan untuk menerapkan animasi. Menerjemahkan elemen di luar batas kontainer induknya dapat mencegah input berfungsi.
Untuk informasi selengkapnya, lihat Animasi di Xamarin.Forms.
TranslationY
Properti TranslationY
adalah double
nilai yang menentukan terjemahan delta yang akan diterapkan pada sumbu Y. Terjemahan diterapkan setelah tata letak dan biasanya digunakan untuk menerapkan animasi. Menerjemahkan elemen di luar batas kontainer induknya dapat mencegah input berfungsi.
Untuk informasi selengkapnya, lihat Animasi di Xamarin.Forms.
Triggers
Properti Triggers
adalah objek baca-saja List
TriggerBase
. Pemicu memungkinkan pengembang aplikasi untuk mengekspresikan tindakan di XAML yang mengubah tampilan visual kontrol sebagai respons terhadap perubahan peristiwa atau properti. Untuk informasi selengkapnya, lihat Xamarin.Forms Pemicu.
Visual
Properti Visual
adalah IVisual
instans yang memungkinkan perender dibuat dan diterapkan secara selektif ke VisualElement
instans. Properti Visual
diatur agar sesuai dengan induknya sehingga menentukan perender pada komponen juga akan berlaku untuk setiap turunan komponen tersebut. Jika tidak ada perender kustom yang diatur pada kontrol atau leluhurnya, perender default Xamarin.Forms akan digunakan. Untuk informasi selengkapnya, lihat Xamarin.Forms Visual.
Width
Properti Width
adalah nilai baca-saja double
yang menjelaskan lebar kontrol yang dirender. Properti Width
dihitung selama siklus tata letak dan tidak dapat diatur secara langsung. Lebar kontrol dapat diminta menggunakan properti WidthRequest.
WidthRequest
Properti WidthRequest
adalah double
nilai yang menentukan lebar kontrol yang diinginkan. Lebar absolut kontrol mungkin tidak cocok dengan nilai yang diminta. Untuk informasi selengkapnya, lihat Meminta properti.
X
Properti X
adalah nilai baca-saja double
yang menjelaskan posisi X kontrol saat ini.
Y
Properti Y
adalah nilai baca-saja double
yang menjelaskan posisi kontrol Y saat ini.
Metode
Metode berikut tersedia di VisualElement
kelas . Untuk daftar lengkapnya, lihat Metode API VisualElement.
FindByName
Metode FindByName
ini diwarisi dari Element
kelas dan memiliki tanda tangan berikut:
public object FindByName (string name)
Metode ini mencari semua elemen turunan untuk argumen yang disediakan name
dan mengembalikan elemen yang memiliki nama yang ditentukan. Jika tidak ada kecocokan yang ditemukan, null
dikembalikan.
Focus
Metode ini Focus
mencoba untuk mengatur fokus pada elemen . Metode ini memiliki tanda tangan berikut:
public bool Focus ()
Metode Focus
mengembalikan true
jika fokus keyboard berhasil diatur dan false
jika panggilan metode tidak menghasilkan perubahan fokus. Elemen harus dapat menerima fokus agar metode ini berfungsi. Memanggil Focus
metode pada elemen yang di luar layar atau tidak terealisasi memiliki perilaku yang tidak terdefinisi.
Unfocus
Metode ini Unfocus
mencoba menghapus fokus pada elemen . Metode ini memiliki tanda tangan berikut:
public void Unfocus ()
Elemen harus sudah memiliki fokus agar metode ini berfungsi.
Acara
Peristiwa berikut tersedia di VisualElement
kelas . Untuk daftar lengkapnya, lihat Xamarin.Forms Peristiwa VisualElement.
Focused
Peristiwa Focused
dinaikkan setiap kali VisualElement
instans menerima fokus. Kejadian ini tidak dibenturkan Xamarin.Forms melalui tumpukan, kejadian ini diterima langsung dari kontrol asli. Kejadian ini dipancarkan oleh setter IsFocused
properti.
SizeChanged
Peristiwa SizeChanged
dinaikkan setiap kali VisualElement
instans Height
atau Width
properti berubah. Jika pengembang ingin merespons langsung perubahan ukuran, alih-alih menanggapi peristiwa pasca-perubahan, mereka harus menerapkan metode virtual sebagai gantinya OnSizeAllocated
.
Unfocused
Peristiwa Unfocused
dinaikkan setiap kali VisualElement
instans kehilangan fokus. Kejadian ini tidak dibenturkan Xamarin.Forms melalui tumpukan, kejadian ini diterima langsung dari kontrol asli. Kejadian ini dipancarkan oleh setter IsFocused
properti.
Satuan Pengukuran
Platform Android, iOS, dan UWP semuanya memiliki unit pengukuran yang berbeda yang dapat bervariasi di seluruh perangkat. Xamarin.Forms menggunakan unit pengukuran independen platform yang menormalkan unit di seluruh perangkat dan platform. Ada 160 unit per inci, atau 64 unit per sentimeter, dalam Xamarin.Forms.
Properti permintaan
Properti yang namanya berisi "permintaan" menentukan nilai yang diinginkan, yang mungkin tidak cocok dengan nilai aktual yang dirender. Misalnya, HeightRequest
mungkin diatur ke 150 tetapi jika tata letak hanya memungkinkan ruang untuk 100 unit, yang dirender Height
kontrol hanya akan 100. Ukuran yang dirender dipengaruhi oleh ruang yang tersedia dan komponen yang terkandung.
Properti permintaan minimum
Properti permintaan minimum termasuk MinimumHeightRequest
dan MinimumWidthRequest
, dan dimaksudkan untuk mengaktifkan kontrol yang lebih tepat atas bagaimana elemen menangani luapan relatif satu sama lain. Namun, perilaku tata letak yang terkait dengan properti ini memiliki beberapa pertimbangan penting.
Nilai properti minimum yang tidak ditentukan
Jika nilai minimum tidak diatur, properti minimum default ke -1. Proses tata letak mengabaikan nilai ini dan menganggap nilai absolut menjadi minimum. Konsekuensi praktis dari perilaku ini adalah bahwa elemen tanpa nilai minimum yang ditentukan tidak akan menyusut. Elemen dengan nilai minimum yang ditentukan akan menyusut.
XAML berikut menunjukkan dua BoxView
elemen dalam horizontal StackLayout
:
<StackLayout Orientation="Horizontal">
<BoxView HeightRequest="100" BackgroundColor="Purple" WidthRequest="500"></BoxView>
<BoxView HeightRequest="100" BackgroundColor="Green" WidthRequest="500" MinimumWidthRequest="250"></BoxView>
</StackLayout>
Instans pertama BoxView
meminta lebar 500 dan tidak menentukan lebar minimum. Instans kedua BoxView
meminta lebar 500 dan lebar minimum 250. Jika elemen induk StackLayout
tidak cukup lebar untuk memuat kedua komponen pada lebar yang diminta, instans pertama BoxView
akan dipertimbangkan oleh proses tata letak untuk memiliki lebar minimum 500 karena tidak ada minimum valid lainnya yang ditentukan. Instans kedua BoxView
diizinkan untuk menurunkan skala menjadi 250 dan akan menyusut agar pas hingga lebarnya mencapai 250 unit.
Jika perilaku yang diinginkan adalah agar instans pertama BoxView
diturunkan skalanya tanpa lebar minimum, MinimumWidthRequest
harus diatur ke nilai yang valid, seperti 0.
Nilai properti minimum dan absolut
Perilaku tidak terdefinisi ketika nilai minimum lebih besar dari nilai absolut. Misalnya, jika WidthRequest
diatur ke 100, MinimumWidthRequest
properti tidak boleh melebihi 100. Saat menentukan nilai properti minimum, Anda harus selalu menentukan nilai absolut untuk memastikan nilai absolut lebih besar dari nilai minimum.
Properti minimum dalam Kisi
Grid
tata letak memiliki sistemnya sendiri untuk ukuran baris dan kolom relatif. Menggunakan MinimumWidthRequest
atau MinimumHeightRequest
dalam Grid
tata letak tidak akan berpengaruh. Untuk informasi selengkapnya, lihat Xamarin.Forms Kisi.