Trigger Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Kelas yang mewakili kondisi properti dan tindakan yang dilakukan saat kondisi terpenuhi.
[Xamarin.Forms.ContentProperty("Setters")]
[Xamarin.Forms.Xaml.AcceptEmptyServiceProvider]
public sealed class Trigger : Xamarin.Forms.TriggerBase, Xamarin.Forms.Xaml.IValueProvider
type Trigger = class
inherit TriggerBase
interface IValueProvider
- Warisan
- Atribut
- Penerapan
Keterangan
Kelas Trigger ini cocok untuk memeriksa nilai properti apa pun pada kontrol yang telah ditambahkan. Artinya, konteks pengikatan defaultnya adalah kontrol yang telah ditambahkan. Untuk mengikat kontrol selain induk, pengembang harus menggunakan kelas sebagai gantinya DataTrigger .
Contoh XML di bawah ini meminta pengguna untuk mengetik rahasia, yaitu, "Warna teks berwarna merah". Ketika pengguna telah mengetik rahasia, teks Entri berubah warna menjadi merah. Kode dikembalikan ke warna default jika pengguna kemudian mengedit teks agar berbeda dari rahasia. Contoh ini menunjukkan cara mengikat kontrol penutup dengan pemicu.
<?xml version="1.0" encoding="utf-8"?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:TriggerDemo"
x:Class="TriggerDemo.TriggerDemoPage">
<StackLayout VerticalOptions="Center">
<Label Text="Tell me the secret"
VerticalOptions="Center"
HorizontalOptions="Center" />
<Entry Placeholder="Type the secret here."
VerticalOptions="Center"
HorizontalOptions="Center">
<Entry.Triggers>
<Trigger TargetType="Entry"
Property="Text"
Value="The text color is red">
<Setter Property="TextColor" Value="Red" />
</Trigger>
</Entry.Triggers>
</Entry>
</StackLayout>
</ContentPage>
Contoh di bawah ini menunjukkan bagaimana pengembang dapat menggunakan pemicu untuk merespons peristiwa dan memperbarui nilai properti kontrol dengan menggunakan TriggerAction<T> kelas. Contohnya meminta pengguna untuk menjawab pertanyaan tentang warna teks, lalu memanggil ColorTriggerAction
untuk mengubah teks menjadi merah saat pengguna mengetik "Warna teks berwarna merah". Pengembang harus mencatat bahwa, meskipun contoh ini tidak mengubah teks kembali ke warna default ketika pengguna terus mengedit string, pengembang juga dapat mengimplementasikan dan menentukan tindakan keluar untuk mendapatkan hasil tersebut.
Dengan kelas ColorTriggerAction di bawah ini didefinisikan dalam TriggerDemo
namespace:
public class ColorTriggerAction : TriggerAction<Entry>
{
protected override void Invoke(Entry sender)
{
sender.TextColor = Color.Red;
}
}
pengembang dapat menggunakan XAML di bawah ini untuk membuat halaman yang merespons string rahasia dengan mengubah warna Entry area teks menjadi merah.
<?xml version="1.0" encoding="utf-8"?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:TriggerDemo"
x:Class="TriggerDemo.TriggerDemoPage">
<StackLayout VerticalOptions="Center">
<Label Text="What color is "The text"?"
VerticalOptions="Center"
HorizontalOptions="Center" />
<Entry Placeholder="Type answer here."
VerticalOptions="Center"
HorizontalOptions="Center"
BackgroundColor="White">
<Entry.Triggers>
<Trigger TargetType="Entry"
Property="Text"
Value="The text is red" >
<Trigger.EnterActions>
<local:ColorTriggerAction />
</Trigger.EnterActions>
</Trigger>
</Entry.Triggers>
</Entry>
</StackLayout>
</ContentPage>
Konstruktor
Trigger(Type) |
Menginisialisasi instans baru Trigger . |
Properti
BindingContext |
Mendapatkan atau mengatur objek yang berisi properti yang akan ditargetkan oleh properti terikat milik ini BindableObject. (Diperoleh dari BindableObject) |
Dispatcher |
Kelas yang mewakili kondisi properti dan tindakan yang dilakukan saat kondisi terpenuhi. (Diperoleh dari BindableObject) |
EnterActions |
Mendapatkan daftar TriggerAction objek yang akan dipanggil saat kondisi pemicu terpenuhi. Diabaikan untuk EventTrigger kelas . (Diperoleh dari TriggerBase) |
ExitActions |
Mendapatkan daftar TriggerAction objek yang akan dipanggil setelah kondisi pemicu tidak lagi terpenuhi. Diabaikan untuk EventTrigger kelas . (Diperoleh dari TriggerBase) |
IsSealed |
Mendapatkan nilai yang menunjukkan apakah pemicu disegel atau tidak. (Diperoleh dari TriggerBase) |
Property |
Mendapatkan atau mengatur properti yang nilainya akan dibandingkan Value dengan untuk menentukan kapan harus memanggil setter. |
Setters |
Mendapatkan daftar Setter objek yang akan diterapkan ketika properti yang dinamai oleh Property menjadi sama dengan Value. |
TargetType |
Tipe objek tempat objek ini TriggerBase dapat dilampirkan. (Diperoleh dari TriggerBase) |
Value |
Mendapatkan atau menetapkan nilai properti, yang dinamai Property oleh properti , yang akan menyebabkan setter diterapkan. |
Metode
ApplyBindings() |
Terapkan pengikatan ke BindingContext. (Diperoleh dari BindableObject) |
ClearValue(BindableProperty) |
Menghapus nilai apa pun yang ditetapkan oleh SetValue untuk |
ClearValue(BindablePropertyKey) |
Menghapus nilai apa pun yang ditetapkan oleh SetValue untuk properti yang diidentifikasi oleh |
CoerceValue(BindableProperty) |
Kelas yang mewakili kondisi properti dan tindakan yang dilakukan saat kondisi terpenuhi. (Diperoleh dari BindableObject) |
CoerceValue(BindablePropertyKey) |
Kelas yang mewakili kondisi properti dan tindakan yang dilakukan saat kondisi terpenuhi. (Diperoleh dari BindableObject) |
GetValue(BindableProperty) |
Mengembalikan nilai yang terkandung dalam BindableProperty. (Diperoleh dari BindableObject) |
GetValues(BindableProperty, BindableProperty, BindableProperty) |
Kedaluwarsa.
Untuk penggunaan internal oleh Xamarin. Forms platform. (Diperoleh dari BindableObject) |
GetValues(BindableProperty, BindableProperty) |
Kedaluwarsa.
Untuk penggunaan internal oleh Xamarin. Forms platform. (Diperoleh dari BindableObject) |
IsSet(BindableProperty) |
Mengembalikan |
OnBindingContextChanged() |
Ambil alih metode ini untuk menjalankan tindakan ketika BindingContext berubah. (Diperoleh dari BindableObject) |
OnPropertyChanged(String) |
Panggil metode ini dari kelas anak untuk memberi tahu bahwa perubahan terjadi pada properti. (Diperoleh dari BindableObject) |
OnPropertyChanging(String) |
Panggil metode ini dari kelas anak untuk memberi tahu bahwa perubahan akan terjadi pada properti. (Diperoleh dari BindableObject) |
RemoveBinding(BindableProperty) |
Menghapus pengikatan yang ditetapkan sebelumnya. (Diperoleh dari BindableObject) |
SetBinding(BindableProperty, BindingBase) |
Menetapkan pengikatan ke properti. (Diperoleh dari BindableObject) |
SetValue(BindableProperty, Object) |
Mengatur nilai properti yang ditentukan. (Diperoleh dari BindableObject) |
SetValue(BindablePropertyKey, Object) |
Mengatur nilai propertyKey. (Diperoleh dari BindableObject) |
SetValueCore(BindableProperty, Object, SetValueFlags) |
Untuk penggunaan internal oleh Xamarin. Forms platform. (Diperoleh dari BindableObject) |
UnapplyBindings() |
Membatalkan semua pengikatan yang ditetapkan sebelumnya. (Diperoleh dari BindableObject) |
Acara
BindingContextChanged |
Dimunculkan setiap kali BindingContext properti berubah. (Diperoleh dari BindableObject) |
PropertyChanged |
Dimunculkan ketika properti telah berubah. (Diperoleh dari BindableObject) |
PropertyChanging |
Dimunculkan ketika properti akan berubah. (Diperoleh dari BindableObject) |
Implementasi Antarmuka Eksplisit
IDynamicResourceHandler.SetDynamicResource(BindableProperty, String) |
Untuk penggunaan internal oleh Xamarin. Forms platform. (Diperoleh dari BindableObject) |
IValueProvider.ProvideValue(IServiceProvider) |
Untuk penggunaan internal oleh Xamarin. Forms platform. |
Metode Ekstensi
GetPropertyIfSet<T>(BindableObject, BindableProperty, T) |
Kelas yang mewakili kondisi properti dan tindakan yang dilakukan saat kondisi terpenuhi. |
SetAppThemeColor(BindableObject, BindableProperty, Color, Color) |
Kelas yang mewakili kondisi properti dan tindakan yang dilakukan saat kondisi terpenuhi. |
SetBinding(BindableObject, BindableProperty, String, BindingMode, IValueConverter, String) |
Membuat dan menerapkan pengikatan ke properti. |
SetBinding<TSource>(BindableObject, BindableProperty, Expression<Func<TSource,Object>>, BindingMode, IValueConverter, String) |
Kedaluwarsa.
Membuat dan menerapkan pengikatan dari ekspresi. |
SetOnAppTheme<T>(BindableObject, BindableProperty, T, T) |
Kelas yang mewakili kondisi properti dan tindakan yang dilakukan saat kondisi terpenuhi. |