DataTrigger Klasa

Definicja

Klasa, która reprezentuje warunek dla dowolnego powiązania, wraz z listą Setter obiektów, które zostaną zastosowane po spełnieniu warunku.

[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
Dziedziczenie
Atrybuty
Implementuje

Uwagi

DataTriggerKlasa jest odpowiednia do sprawdzania wartości w innych kontrolkach, a także wszelkich właściwości kontrolki, do których została dodana. Oznacza to, że jego domyślny kontekst powiązania jest formantem, do którego został dodany.

Poniższy przykład kodu XML poprosi użytkownika o wpisanie wpisu tajnego, czyli "kolor tekstu jest zielony". Gdy użytkownik wpisze wartość "", tekst wpisu zmieni kolor na czerwony. Gdy użytkownik ukończy klucz tajny, tekst etykiety zmieni kolor na zielony. Kod jest przywracany kolorem domyślnym, jeśli użytkownik edytuje wpis tajny. Ten przykład pokazuje, jak powiązać z otaczającą kontrolką (wpis z wpisu) i do kontrolki dowolny (wpis z etykiety)

<?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>

Konstruktory

DataTrigger(Type)

Inicjuje nowe DataTrigger wystąpienie.

Właściwości

Binding

Pobiera lub ustawia powiązanie, którego wartość będzie porównywana z, Value Aby określić, kiedy należy wywołać metody ustawiające.

BindingContext

Pobiera lub ustawia obiekt, który zawiera właściwości, które będą wskazywane przez powiązane właściwości należące do tego BindableObject .

(Odziedziczone po BindableObject)
Dispatcher (Odziedziczone po BindableObject)
EnterActions

Pobiera listę TriggerAction obiektów, które zostaną wywołane po spełnieniu warunku wyzwalacza. Zignorowano dla EventTrigger klasy.

(Odziedziczone po TriggerBase)
ExitActions

Pobiera listę TriggerAction obiektów, które zostaną wywołane po spełnieniu warunku wyzwalacza. Zignorowano dla EventTrigger klasy.

(Odziedziczone po TriggerBase)
IsSealed

Pobiera wartość wskazującą, czy wyzwalacz jest zapieczętowany.

(Odziedziczone po TriggerBase)
Setters

Pobiera listę Setter obiektów, które zostaną zastosowane, gdy powiązanie, które jest nazwane przez właściwość, Binding staje się równe Value .

TargetType

Typ obiektu, do którego TriggerBase można dołączyć ten obiekt.

(Odziedziczone po TriggerBase)
Value

Pobiera lub ustawia wartość powiązania o nazwie Binding odpowiadającej właściwości, która spowoduje zastosowanie metod ustawiających.

Metody

ApplyBindings()

Zastosuj powiązania do BindingContext .

(Odziedziczone po BindableObject)
ClearValue(BindableProperty)

Czyści każdą wartość ustawioną przez SetValue for property .

(Odziedziczone po BindableObject)
ClearValue(BindablePropertyKey)

Czyści każdą wartość ustawioną przez SetValue Właściwość, która jest identyfikowana przez propertyKey .

(Odziedziczone po BindableObject)
CoerceValue(BindableProperty) (Odziedziczone po BindableObject)
CoerceValue(BindablePropertyKey) (Odziedziczone po BindableObject)
GetValue(BindableProperty)

Zwraca wartość, która jest zawarta w BindableProperty.

(Odziedziczone po BindableObject)
GetValues(BindableProperty, BindableProperty)
Nieaktualne.

Do użytku wewnętrznego przez platformę Xamarin. Forms.

(Odziedziczone po BindableObject)
GetValues(BindableProperty, BindableProperty, BindableProperty)
Nieaktualne.

Do użytku wewnętrznego przez platformę Xamarin. Forms.

(Odziedziczone po BindableObject)
IsSet(BindableProperty)

Zwraca true czy właściwość target istnieje i została ustawiona.

(Odziedziczone po BindableObject)
OnBindingContextChanged()

Zastąp tę metodę, aby wykonać akcję po zmianie BindingContext.

(Odziedziczone po BindableObject)
OnPropertyChanged(String)

Wywołaj tę metodę z klasy podrzędnej, aby powiadomić o wystąpieniu zmiany we właściwości.

(Odziedziczone po BindableObject)
OnPropertyChanging(String)

Wywołaj tę metodę z klasy podrzędnej, aby powiadomić, że zmiana ma miejsce na właściwości.

(Odziedziczone po BindableObject)
RemoveBinding(BindableProperty)

Usuwa poprzednio ustawione powiązanie.

(Odziedziczone po BindableObject)
SetBinding(BindableProperty, BindingBase)

Przypisuje powiązanie do właściwości.

(Odziedziczone po BindableObject)
SetValue(BindableProperty, Object)

Ustawia wartość określonej właściwości.

(Odziedziczone po BindableObject)
SetValue(BindablePropertyKey, Object)

Ustawia wartość propertyKey.

(Odziedziczone po BindableObject)
SetValueCore(BindableProperty, Object, SetValueFlags)

Do użytku wewnętrznego przez platformę Xamarin. Forms.

(Odziedziczone po BindableObject)
UnapplyBindings()

Nie stosuje wszystkich wcześniej ustawionych powiązań.

(Odziedziczone po BindableObject)

Zdarzenia

BindingContextChanged

Uruchamiany zawsze, gdy BindingContext Właściwość zostanie zmieniona.

(Odziedziczone po BindableObject)
PropertyChanged

Uruchamiany, gdy właściwość zostanie zmieniona.

(Odziedziczone po BindableObject)
PropertyChanging

Uruchamiany, gdy właściwość zostanie zmieniona.

(Odziedziczone po BindableObject)

Jawne implementacje interfejsu

IDynamicResourceHandler.SetDynamicResource(BindableProperty, String)

Do użytku wewnętrznego przez platformę Xamarin. Forms.

(Odziedziczone po BindableObject)
IValueProvider.ProvideValue(IServiceProvider)

Do użytku wewnętrznego przez infrastrukturę XAML.

Metody rozszerzania

GetPropertyIfSet<T>(BindableObject, BindableProperty, T)
SetAppThemeColor(BindableObject, BindableProperty, Color, Color)
SetBinding(BindableObject, BindableProperty, String, BindingMode, IValueConverter, String)

Tworzy i stosuje powiązanie z właściwością.

SetBinding<TSource>(BindableObject, BindableProperty, Expression<Func<TSource,Object>>, BindingMode, IValueConverter, String)
Nieaktualne.

Tworzy i stosuje powiązanie z wyrażenia.

SetOnAppTheme<T>(BindableObject, BindableProperty, T, T)

Dotyczy