Aracılığıyla paylaş


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.

public ref class DataTrigger sealed : Microsoft::Maui::Controls::TriggerBase, Microsoft::Maui::Controls::Xaml::IValueProvider
[Microsoft.Maui.Controls.ContentProperty("Setters")]
[Microsoft.Maui.Controls.Xaml.AcceptEmptyServiceProvider]
public sealed class DataTrigger : Microsoft.Maui.Controls.TriggerBase, Microsoft.Maui.Controls.Xaml.IValueProvider
[<Microsoft.Maui.Controls.ContentProperty("Setters")>]
[<Microsoft.Maui.Controls.Xaml.AcceptEmptyServiceProvider>]
type DataTrigger = class
    inherit TriggerBase
    interface IValueProvider
Public NotInheritable Class DataTrigger
Inherits TriggerBase
Implements IValueProvider
Devralma
Ö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 (yani "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öner. Kullanıcı gizli diziyi düzenlerse kod varsayılan renge geri döner. Bu örnek, kapsayan denetime (Girdiden Girdi) ve bir arbiter denetime (Etiketten Girdi) 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 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 olan ilişkili özellikler tarafından hedeflenecek özellikleri içeren bir nesnesi alır veya ayarlar. Bu, bağlanabilir bir özelliktir.

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

Bu bağlanabilir nesne oluşturulduğunda kullanılabilen dağıtıcıyı alır, aksi takdirde en yakın kullanılabilir dağıtıcıyı (büyük olasılıkla pencerenin/uygulamanınkiler) bulmaya çalışır.

(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ı gösteren 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()

Tüm geçerli bağlamaları öğesine BindingContextuygular.

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

Daha önce bağlanabilir bir özellik için ayarlanmış olan tüm değerleri temizler.

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

Daha önce bir bağlanabilir özellik için ayarlanmış olan ve anahtarıyla tanımlanan tüm değerleri temizler.

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

Belirtilen bağlanabilir özelliğin değerini zorlar. Bu, belirtilen bağlanabilir özellik çağrılarak BindableProperty.CoerceValueDelegate yapılır.

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

Belirtilen bağlanabilir özelliğin değerini zorlar. Bu, belirtilen bağlanabilir özellik çağrılarak BindableProperty.CoerceValueDelegate yapılır.

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

Verilen bağlanabilir özelliğin içerdiği değeri döndürür.

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

Bağlanabilir bir özelliğin var olup olmadığını ve bir değer kümesi olup olmadığını belirler.

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

Olayı tetikler BindingContextChanged .

(Devralındığı yer: BindableObject)
OnPropertyChanged(String)

Olayı tetikler PropertyChanged .

(Devralındığı yer: BindableObject)
OnPropertyChanging(String)

Olayı tetikler PropertyChanging .

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

Daha önce ayarlanmış bir bağlamayı bağlanabilir bir özellikten kaldırır.

(Devralındığı yer: BindableObject)
SetBinding(BindableProperty, BindingBase)

Bağlanabilir bir özelliğe bağlama atar.

(Devralındığı yer: BindableObject)
SetValue(BindableProperty, Object)

Belirtilen bağlanabilir özelliğin değerini ayarlar.

(Devralındığı yer: BindableObject)
SetValue(BindablePropertyKey, Object)

Belirtilen bağlanabilir özelliğin değerini ayarlar.

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

Geçerli bağlamdan tüm geçerli bağlamaları kaldırır.

(Devralındığı yer: BindableObject)

Ekinlikler

BindingContextChanged

Özelliğin değeri değiştiğinde BindingContext gerçekleşir.

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

Özellik değeri değiştiğinde gerçekleşir.

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

Özellik değeri değiştiğinde gerçekleşir.

(Devralındığı yer: BindableObject)

Belirtik Arabirim Kullanımları

IDynamicResourceHandler.SetDynamicResource(BindableProperty, String)

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)
IValueProvider.ProvideValue(IServiceProvider)

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

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.

SetAppTheme<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.

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,TProperty>(BindableObject, BindableProperty, Func<TSource,TProperty>, BindingMode, IValueConverter, Object, String, Object, Object, Object)

Kaynak nesnedeki bir özellik ile hedef nesnedeki bir özellik arasında bir bağlama oluşturur.

Şunlara uygulanır