DataTrigger Sınıf

Tanım

Rastgele bağlamada koşulu temsil eden sınıf, Setter koşul karşılandığında uygulanacak nesnelerin bir listesi.

[Xamarin.Forms.ContentProperty("Setters")]
[Xamarin.Forms.Xaml.AcceptEmptyServiceProvider]
public sealed class DataTrigger : Xamarin.Forms.TriggerBase, Xamarin.Forms.Xaml.IValueProvider
type DataTrigger = class
    inherit TriggerBase
    interface IValueProvider
Devralma
Öznitelikler
Uygulamalar

Açıklamalar

DataTriggerSınıfı, diğer denetimlerin değerlerinin yanı sıra eklendiği denetimdeki herhangi bir özelliği denetlemek için uygundur. Diğer bir deyişle, varsayılan bağlama bağlamı, eklendiği denetimdir.

Aşağıdaki XML örneği, kullanıcıdan gizli dizi ("metin rengi yeşil") yazmayı ister. Kullanıcı "öğesini" yazmışsa, giriş metni rengi kırmızı olarak değiştirir. Kullanıcı gizli dizi tamamlandığında, etiket metni yeşile dönüşür. Kullanıcı parolayı düzenlerse, kod varsayılan renge geri açılır. Bu örnek, kapsayan denetimin (girişten giriş) ve bir aracı denetimin (etiketten giriş) 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="Can you tell me the secret?" VerticalOptions="Center" HorizontalOptions="Center">
<Label.Triggers>
<DataTrigger TargetType="Label"
                    Binding="{Binding Source={x:Reference checkEntry},
                                      Path=Text}"
                    Value="The text color is green">
<Setter Property="TextColor" Value="Color.Green" />
</DataTrigger>
</Label.Triggers>
</Label>
<Entry Placeholder="Type the secret here." x:Name="checkEntry" VerticalOptions="Center" HorizontalOptions="Center">
<Entry.Triggers>
<DataTrigger TargetType="Entry"
                    Binding="{Binding Text}"
                    Value="The">
<Setter Property="TextColor" Value="Red" />
</DataTrigger>
</Entry.Triggers>
</Entry>
</StackLayout>
</ContentPage>

Oluşturucular

DataTrigger(Type)

Yeni bir DataTrigger örneği başlatır.

Özellikler

Binding

ValueAyarlayıcılarının ne zaman çağırılacağını belirleyen, değerine Karşılaştırılacak bağlamayı alır veya ayarlar.

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)
Setters

SetterÖzelliği tarafından adlandırılan bağlama şuna eşit olduğunda uygulanacak nesne listesini alır Binding Value .

TargetType

Bu TriggerBase nesnenin iliştirilebilecek nesne türü.

(Devralındığı yer: TriggerBase)
Value

, Binding Ayarlayıcılarının uygulanmasına neden olacak şekilde, özelliği tarafından adlandırılan bağlamanın 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 property .

(Devralındığı yer: BindableObject)
ClearValue(BindablePropertyKey)

Tarafından tanımlanan özelliği için tarafından ayarlanan herhangi bir değeri temizler SetValue propertyKey .

(Devralındığı yer: BindableObject)
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)

trueTarget özelliği varsa ve ayarlandıysa, döndürür.

(Devralındığı yer: BindableObject)
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)

Ekinlikler

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)

XAML altyapısının iç 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)

Şunlara uygulanır