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
Trigger sınıfı, eklendiği denetimdeki herhangi bir özelliğin değerlerini denetlemek için uygundur. Yani, varsayılan bağlama bağlamı eklendiği denetimdir. Üst öğe dışındaki denetimlere bağlanmak için geliştiriciler bunun yerine sınıfını DataTrigger kullanmalıdır.
Aşağıdaki XML örneği, kullanıcıdan gizli diziyi (yani "Metin rengi kırmızıdır") yazmasını ister. Kullanıcı gizli diziyi yazdığında, Giriş metninin rengi kırmızıya dönüşür. Kullanıcı gizli diziden farklı olacak şekilde metni düzenlerse kod varsayılan renge geri döner. Bu örnekte, bir tetikleyici ile kapsayan denetime nasıl bağlanacağınız gösterilmektedir.
<?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 sınıfları kullanarak TriggerAction<T> bir denetim özelliğinin değerini güncelleştirmek için tetikleyiciyi nasıl kullanabileceği gösterilmektedir. Örnek, kullanıcıdan metnin rengiyle ilgili bir soruyu yanıtlamasını ister ve ardından kullanıcı "Metin rengi kırmızıdır" yazınca metni kırmızıya çevirmesini ister ColorTriggerAction
. Geliştiriciler, bu örnekte kullanıcı dizeyi düzenlemeye devam ettiğinde metni varsayılan renge geri döndürmese de, geliştiricinin bu sonucu elde etmek için bir çıkış eylemi uygulayabileceğini ve belirtebileceğini unutmayın.
Aşağıda ad alanında tanımlanan ColorTriggerAction sınıfıyla TriggerDemo
:
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 diziye yanıt veren sayfayı oluşturmak için aşağıdaki XAML'yi Entry kullanabilir.
<?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 Trigger bir örnek başlatır. |
Özellikler
BindingContext |
Bu BindableObjectöğesine ait ilişkili özellikler tarafından hedeflenecek özellikleri içeren nesneyi alır veya ayarlar. (Devralındığı yer: BindableObject) |
Dispatcher |
Bir özellik koşulunu ve koşul karşılandığında gerçekleştirilen eylemi temsil eden sınıf. (Devralındığı yer: BindableObject) |
EnterActions |
Tetikleyici koşulu karşılandığında çağrılacak nesnelerin listesini TriggerAction alır. sınıf için yoksayıldı EventTrigger . (Devralındığı yer: TriggerBase) |
ExitActions |
Tetikleyici koşulu artık karşılanmadığında çağrılacak nesnelerin listesini TriggerAction alır. sınıf için yoksayıldı EventTrigger . (Devralındığı yer: TriggerBase) |
IsSealed |
Tetikleyicinin korumalı olup olmadığını belirten bir değer alır. (Devralındığı yer: TriggerBase) |
Property |
Ayarlayıcıların ne zaman çağrılacağını belirlemek için Value değeri karşılaştırılacak özelliğini alır veya ayarlar. |
Setters |
tarafından Property adlandırılan özellik değerine eşit Valueolduğunda uygulanacak nesnelerin listesini Setter alır. |
TargetType |
Bu TriggerBase nesnenin bağlanabileceği nesnenin türü. (Devralındığı yer: TriggerBase) |
Value |
Ayarlayıcıların uygulanmasına neden olacak, özelliği tarafından Property adlandırılan özelliğinin değerini alır veya ayarlar. |
Yöntemler
ApplyBindings() |
bağlamalarını uygulamasına BindingContextuygulayın. (Devralındığı yer: BindableObject) |
ClearValue(BindableProperty) |
için |
ClearValue(BindablePropertyKey) |
tarafından tanımlanan |
CoerceValue(BindableProperty) |
Bir özellik koşulunu ve koşul karşılandığında gerçekleştirilen eylemi temsil eden sınıf. (Devralındığı yer: BindableObject) |
CoerceValue(BindablePropertyKey) |
Bir özellik koşulunu ve koşul karşılandığında gerçekleştirilen eylemi temsil eden sınıf. (Devralındığı yer: BindableObject) |
GetValue(BindableProperty) |
BindableProperty içinde yer alan değeri döndürür. (Devralındığı yer: BindableObject) |
GetValues(BindableProperty, BindableProperty) |
Geçersiz.
Xamarin tarafından dahili kullanım için. Forms platformu. (Devralındığı yer: BindableObject) |
GetValues(BindableProperty, BindableProperty, BindableProperty) |
Geçersiz.
Xamarin tarafından dahili kullanım için. Forms platformu. (Devralındığı yer: BindableObject) |
IsSet(BindableProperty) |
Hedef özellik varsa ve ayarlanmışsa döndürür |
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 bir alt sınıftan bu yöntemi çağırabilirsiniz. (Devralındığı yer: BindableObject) |
OnPropertyChanging(String) |
Bir özellikte değişiklik olacağını bildirmek için bir alt sınıftan bu yöntemi çağırabilirsiniz. (Devralındığı yer: BindableObject) |
RemoveBinding(BindableProperty) |
Önceden ayarlanmış 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 tarafından dahili kullanım için. Forms platformu. (Devralındığı yer: BindableObject) |
UnapplyBindings() |
Önceden ayarlanmış tüm bağlamaları uygulamaz. (Devralındığı yer: BindableObject) |
Ekinlikler
BindingContextChanged |
Özellik her değiştiğinde BindingContext oluşturulur. (Devralındığı yer: BindableObject) |
PropertyChanged |
Bir özellik değiştiğinde oluşturulur. (Devralındığı yer: BindableObject) |
PropertyChanging |
Bir özellik değişmek üzereyken tetikleniyor. (Devralındığı yer: BindableObject) |
Belirtik Arabirim Kullanımları
IDynamicResourceHandler.SetDynamicResource(BindableProperty, String) |
Xamarin tarafından dahili kullanım için. Forms platformu. (Devralındığı yer: BindableObject) |
IValueProvider.ProvideValue(IServiceProvider) |
Xamarin tarafından dahili kullanım için. Forms platformu. |
Uzantı Metotları
GetPropertyIfSet<T>(BindableObject, BindableProperty, T) |
Bir özellik koşulunu ve koşul karşılandığında gerçekleştirilen eylemi temsil eden sınıf. |
SetAppThemeColor(BindableObject, BindableProperty, Color, Color) |
Bir özellik koşulunu ve koşul karşılandığında gerçekleştirilen eylemi temsil eden sınıf. |
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) |
Geçersiz.
bir ifadeden bağlama oluşturur ve uygular. |
SetOnAppTheme<T>(BindableObject, BindableProperty, T, T) |
Bir özellik koşulunu ve koşul karşılandığında gerçekleştirilen eylemi temsil eden sınıf. |