Bagikan melalui


Trigger Kelas

Definisi

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
System.Object
Trigger
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 &quot;The text&quot;?"
               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 property.

(Diperoleh dari BindableObject)
ClearValue(BindablePropertyKey)

Menghapus nilai apa pun yang ditetapkan oleh SetValue untuk properti yang diidentifikasi oleh propertyKey.

(Diperoleh dari BindableObject)
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)
Kedaluwarsa.

Untuk penggunaan internal oleh Xamarin. Forms platform.

(Diperoleh dari BindableObject)
GetValues(BindableProperty, BindableProperty, BindableProperty)
Kedaluwarsa.

Untuk penggunaan internal oleh Xamarin. Forms platform.

(Diperoleh dari BindableObject)
IsSet(BindableProperty)

Mengembalikan true jika properti target ada dan telah ditetapkan.

(Diperoleh dari BindableObject)
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.

Berlaku untuk

Lihat juga