Bagikan melalui


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.