Trigger Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Bir özellik koşulunu ve koşul karşılandığında gerçekleştirilen eylemi temsil eden sınıf.
[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
- Devralma
- Öznitelikler
- Uygulamalar
Açıklamalar
TriggerSınıfı, eklendiği denetimdeki herhangi bir özelliğin değerlerini denetlemek için uygundur. Diğer bir deyişle, varsayılan bağlama bağlamı, eklendiği denetimdir. Üst öğeden farklı denetimlere bağlamak için, geliştiricilerin sınıfını kullanması gerekir DataTrigger .
Aşağıdaki XML örneği, kullanıcıdan gizli dizi ("metin rengi kırmızı") yazmayı ister. Kullanıcı parolayı yazmışsa, giriş metni rengi kırmızı olarak değiştirir. Kullanıcı daha sonra metni gizli dizilerden farklı olacak şekilde düzenlerse, kod varsayılan renge geri açılır. Bu örnek, bir tetikleyiciyle kapsayan denetimin nasıl bağlanacağını gösterir.
<?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>
Aşağıdaki örnekte, geliştiricilerin olaylara yanıt vermek ve bir denetim özelliğinin değerini sınıflar kullanarak güncelleştirmek için bir tetikleyiciyi nasıl kullanabileceği gösterilmektedir TriggerAction<T> . Örnek, kullanıcıdan metnin rengi hakkında bir soru yanıtlamasını ister ve sonra metni "metin rengi kırmızı" olarak yazdığında metni kırmızıya açmak için Colortriggeraction ' ı çağırır. Geliştiriciler, Kullanıcı dizeyi düzenlemeye devam ettiğinde bu örnek metni varsayılan renge geri değiştirmediğini unutmayın, geliştirici ek olarak uygulayabilir ve bu sonucu elde etmek için bir çıkış eylemi belirtebilir.
Aşağıdaki ColorTriggerAction sınıfı ile Triggerdemo ad alanında tanımlanmıştır:
public class ColorTriggerAction : TriggerAction<Entry>
{
protected override void Invoke(Entry sender)
{
sender.TextColor = Color.Red;
}
}
geliştirici, metin alanının rengini kırmızı olarak değiştirerek gizli dizeye yanıt veren sayfayı oluşturmak için aşağıdaki XAML 'yi kullanabilir Entry .
<?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>
Oluşturucular
| Trigger(Type) |
Yeni bir Trigger örneği başlatır. |
Özellikler
| BindingContext |
Buna ait olan bağlı özellikler tarafından hedeflenecek özellikleri içeren nesneyi alır veya ayarlar BindableObject . (Devralındığı yer: BindableObject) |
| Dispatcher | (Devralındığı yer: BindableObject) |
| EnterActions |
TriggerActionTetikleyici koşulu karşılandığında çağrılacak nesne listesini alır. Sınıf için yoksayıldı EventTrigger . (Devralındığı yer: TriggerBase) |
| ExitActions |
TriggerActionTetikleyici koşulu artık karşılanmazsa çağrılacak nesne listesini alır. Sınıf için yoksayıldı EventTrigger . (Devralındığı yer: TriggerBase) |
| IsSealed |
Tetikleyicinin korumalı olup olmadığını gösteren bir değer alır. (Devralındığı yer: TriggerBase) |
| Property |
ValueAyarlayıcılarının ne zaman çağırılacağını belirleme değeri ile Karşılaştırılacak özelliği alır veya ayarlar. |
| Setters |
SetterTarafından adlandırılan özellik Property değerine eşit hale geldiğinde uygulanacak nesnelerin listesini alır Value . |
| TargetType |
Bu TriggerBase nesnenin iliştirilebilecek nesne türü. (Devralındığı yer: TriggerBase) |
| Value |
Özelliği tarafından adlandırılan, Property ayarlayıcılarının uygulanmasına neden olacak özelliğin değerini alır veya ayarlar. |
Yöntemler
| ApplyBindings() |
Bağlamaları uygulamasına uygulayın BindingContext . (Devralındığı yer: BindableObject) |
| ClearValue(BindableProperty) |
İçin tarafından ayarlanan her değeri SetValue temizler |
| ClearValue(BindablePropertyKey) |
Tarafından tanımlanan özelliği için tarafından ayarlanan herhangi bir değeri temizler SetValue |
| CoerceValue(BindableProperty) | (Devralındığı yer: BindableObject) |
| CoerceValue(BindablePropertyKey) | (Devralındığı yer: BindableObject) |
| GetValue(BindableProperty) |
Bindadbleproperty içinde bulunan değeri döndürür. (Devralındığı yer: BindableObject) |
| GetValues(BindableProperty, BindableProperty) |
Kullanımdan kalktı.
Xamarin. Forms platformu tarafından dahili kullanım için. (Devralındığı yer: BindableObject) |
| GetValues(BindableProperty, BindableProperty, BindableProperty) |
Kullanımdan kalktı.
Xamarin. Forms platformu tarafından dahili kullanım için. (Devralındığı yer: BindableObject) |
| IsSet(BindableProperty) |
|
| OnBindingContextChanged() |
BindingContext değiştiğinde bir eylem yürütmek için bu yöntemi geçersiz kılın. (Devralındığı yer: BindableObject) |
| OnPropertyChanged(String) |
Bir özellikte değişiklik olduğunu bildirmek için bu yöntemi bir alt sınıftan çağırın. (Devralındığı yer: BindableObject) |
| OnPropertyChanging(String) |
Bir özellik üzerinde bir değişikliğin gerçekleşmesini bildirmek için bu yöntemi bir alt sınıftan çağırın. (Devralındığı yer: BindableObject) |
| RemoveBinding(BindableProperty) |
Daha önce ayarlanan bağlamayı kaldırır. (Devralındığı yer: BindableObject) |
| SetBinding(BindableProperty, BindingBase) |
Bir özelliğe bağlama atar. (Devralındığı yer: BindableObject) |
| SetValue(BindableProperty, Object) |
Belirtilen özelliğin değerini ayarlar. (Devralındığı yer: BindableObject) |
| SetValue(BindablePropertyKey, Object) |
PropertyKey değerini ayarlar. (Devralındığı yer: BindableObject) |
| SetValueCore(BindableProperty, Object, SetValueFlags) |
Xamarin. Forms platformu tarafından dahili kullanım için. (Devralındığı yer: BindableObject) |
| UnapplyBindings() |
Daha önce ayarlanan tüm bağlamalar için geçerli değildir. (Devralındığı yer: BindableObject) |
etkinlik
| BindingContextChanged |
Özellik her değiştiğinde tetiklenir BindingContext . (Devralındığı yer: BindableObject) |
| PropertyChanged |
Bir özellik değiştiğinde tetiklenir. (Devralındığı yer: BindableObject) |
| PropertyChanging |
Bir özellik değiştirmek üzere olduğunda tetiklenir. (Devralındığı yer: BindableObject) |
Belirtik Arabirim Kullanımları
| IDynamicResourceHandler.SetDynamicResource(BindableProperty, String) |
Xamarin. Forms platformu tarafından dahili kullanım için. (Devralındığı yer: BindableObject) |
| IValueProvider.ProvideValue(IServiceProvider) |
Xamarin. Forms platformu tarafından dahili kullanım için. |
Uzantı Metotları
| GetPropertyIfSet<T>(BindableObject, BindableProperty, T) | |
| SetAppThemeColor(BindableObject, BindableProperty, Color, Color) | |
| SetBinding(BindableObject, BindableProperty, String, BindingMode, IValueConverter, String) |
Bir özelliğe bağlama oluşturur ve uygular. |
| SetBinding<TSource>(BindableObject, BindableProperty, Expression<Func<TSource,Object>>, BindingMode, IValueConverter, String) |
Kullanımdan kalktı.
Bir ifadeden bir bağlama oluşturur ve uygular. |
| SetOnAppTheme<T>(BindableObject, BindableProperty, T, T) | |