DataTrigger Sınıf

Tanım

Koşul karşılandığında uygulanacak nesnelerin listesiyle Setter birlikte rastgele bağlamadaki bir koşulu temsil eden sınıf.

[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
System.Object
DataTrigger
Öznitelikler
Uygulamalar

Açıklamalar

sınıfı DataTrigger , diğer denetimlerdeki değerlerin yanı sıra eklendiği denetimdeki herhangi bir özelliği denetlemek için uygundur. Yani, varsayılan bağlama bağlamı eklendiği denetimdir.

Aşağıdaki XML örneği, kullanıcıdan gizli diziyi (metin rengi yeşildir) yazmasını ister. Kullanıcı "The" yazdığında, Giriş metni rengi kırmızıya dönüşür. Kullanıcı gizli diziyi tamamladığında Etiket metni yeşile dönüşür. Kullanıcı gizli diziyi düzenlerse kod varsayılan renge geri döner. Bu örnekte, kapsayan denetime (Girdiden Giriş) ve bir kubiter denetime (Etiketten Giriş) nasıl bağlanacağınız gösterilir

<?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 DataTrigger bir örnek başlatır.

Özellikler

Binding

Ayarlayıcıların ne zaman çağrılacağını belirlemek için Value değeri karşılaştırılacak bağlamayı alır veya ayarlar.

BindingContext

Bu BindableObjectöğesine ait ilişkili özellikler tarafından hedeflenecek özellikleri içeren nesneyi alır veya ayarlar.

(Devralındığı yer: BindableObject)
Dispatcher

Koşul karşılandığında uygulanacak nesnelerin listesiyle Setter birlikte rastgele bağlamadaki bir koşulu 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)
Setters

özelliği tarafından Binding adlandırılan bağlama 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 Binding adlandırılan bağlamanın değerini alır veya ayarlar.

Yöntemler

ApplyBindings()

bağlamalarını uygulamasına BindingContextuygulayın.

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

için propertytarafından SetValue ayarlanan tüm değerleri temizler.

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

tarafından tanımlanan propertyKeyözelliği için tarafından SetValue ayarlanan tüm değerleri temizler.

(Devralındığı yer: BindableObject)
CoerceValue(BindableProperty)

Koşul karşılandığında uygulanacak nesnelerin listesiyle Setter birlikte rastgele bağlamadaki bir koşulu temsil eden sınıf.

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

Koşul karşılandığında uygulanacak nesnelerin listesiyle Setter birlikte rastgele bağlamadaki bir koşulu 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 true .

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

XAML altyapısı tarafından iç kullanım için.

Uzantı Metotları

GetPropertyIfSet<T>(BindableObject, BindableProperty, T)

Koşul karşılandığında uygulanacak nesnelerin listesiyle Setter birlikte rastgele bağlamadaki bir koşulu temsil eden sınıf.

SetAppThemeColor(BindableObject, BindableProperty, Color, Color)

Koşul karşılandığında uygulanacak nesnelerin listesiyle Setter birlikte rastgele bağlamadaki bir koşulu 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)

Koşul karşılandığında uygulanacak nesnelerin listesiyle Setter birlikte rastgele bağlamadaki bir koşulu temsil eden sınıf.

Şunlara uygulanır