Udostępnij za pośrednictwem


Trigger Klasa

Definicja

Klasa, która reprezentuje warunek właściwości i akcję wykonywaną po spełnieniu warunku.

public ref class Trigger sealed : Microsoft::Maui::Controls::TriggerBase, Microsoft::Maui::Controls::Xaml::IValueProvider
[Microsoft.Maui.Controls.ContentProperty("Setters")]
[Microsoft.Maui.Controls.Xaml.AcceptEmptyServiceProvider]
public sealed class Trigger : Microsoft.Maui.Controls.TriggerBase, Microsoft.Maui.Controls.Xaml.IValueProvider
[<Microsoft.Maui.Controls.ContentProperty("Setters")>]
[<Microsoft.Maui.Controls.Xaml.AcceptEmptyServiceProvider>]
type Trigger = class
    inherit TriggerBase
    interface IValueProvider
Public NotInheritable Class Trigger
Inherits TriggerBase
Implements IValueProvider
Dziedziczenie
Atrybuty
Implementuje

Uwagi

Klasa jest odpowiednia Trigger do sprawdzania wartości dowolnej właściwości w kontrolce, do której została dodana. Oznacza to, że domyślny kontekst powiązania to kontrolka, do której została dodana. Aby powiązać kontrolki inne niż nadrzędne, deweloperzy powinni zamiast tego używać DataTrigger klasy .

Poniższy przykład XML monituje użytkownika o wpis tajny, czyli "Kolor tekstu jest czerwony". Gdy użytkownik wpisał wpis tajny, tekst wpisu zmienia kolor na czerwony. Kod jest przywracany do koloru domyślnego, jeśli użytkownik edytuje tekst, aby różnił się od wpisu tajnego. W tym przykładzie pokazano, jak powiązać otaczającą kontrolkę z wyzwalaczem.


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

W poniższym przykładzie pokazano, jak deweloperzy mogą używać wyzwalacza do reagowania na zdarzenia i aktualizowania wartości właściwości kontrolki przy użyciu TriggerAction<T> klas. W przykładzie zostanie wyświetlony monit o udzielenie odpowiedzi na pytanie dotyczące koloru tekstu, a następnie wywołanie ColorTriggerAction polecenia w celu przekształcenia tekstu na czerwono, gdy użytkownik wpisze tekst "Kolor tekstu jest czerwony". Deweloperzy powinni pamiętać, że chociaż w tym przykładzie tekst nie zmienia się z powrotem na domyślny kolor, gdy użytkownik będzie nadal edytować ciąg, deweloper może dodatkowo zaimplementować i określić akcję zakończenia w celu uzyskania tego wyniku.

Poniższa klasa ColorTriggerAction zdefiniowana TriggerDemo w przestrzeni nazw:

public class ColorTriggerAction : TriggerAction<Entry>
{
    protected override void Invoke(Entry sender)
    {
        sender.TextColor = Color.Red;
    }
}

Deweloper może użyć poniższego kodu XAML, aby utworzyć stronę, która odpowiada na ciąg tajny, zmieniając kolor Entry obszaru tekstu na czerwony.

<?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 &quot;The text&quot;?"
               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>

Konstruktory

Trigger(Type)

Inicjuje nowe Trigger wystąpienie.

Właściwości

BindingContext

Pobiera lub ustawia obiekt zawierający właściwości, które będą objęte powiązanymi właściwościami należącymi do tego BindableObjectobiektu . Jest to właściwość, która jest powiązana.

(Odziedziczone po BindableObject)
Dispatcher

Pobiera dyspozytor, który był dostępny po utworzeniu tego obiektu możliwego do powiązania, w przeciwnym razie próbuje znaleźć najbliższego dostępnego dyspozytora (prawdopodobnie okna/aplikacji).

(Odziedziczone po BindableObject)
EnterActions

Pobiera listę TriggerAction obiektów, które będą wywoływane po spełnieniu warunku wyzwalacza. Ignorowane dla EventTrigger klasy .

(Odziedziczone po TriggerBase)
ExitActions

Pobiera listę TriggerAction obiektów, które będą wywoływane po spełnieniu warunku wyzwalacza. Ignorowane dla EventTrigger klasy .

(Odziedziczone po TriggerBase)
IsSealed

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

(Odziedziczone po TriggerBase)
Property

Pobiera lub ustawia właściwość, której wartość zostanie porównana do Value określenia, kiedy należy wywołać zestawy.

Setters

Pobiera listę Setter obiektów, które będą stosowane, gdy właściwość o nazwie Property by staje się równa Value.

TargetType

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

(Odziedziczone po TriggerBase)
Value

Pobiera lub ustawia wartość właściwości o nazwie według Property właściwości, która spowoduje zastosowanie metod ustawiających.

Metody

ApplyBindings()

Stosuje wszystkie bieżące powiązania do elementu BindingContext.

(Odziedziczone po BindableObject)
ClearValue(BindableProperty)

Czyści dowolną wartość, która jest wcześniej ustawiona dla właściwości możliwej do powiązania.

(Odziedziczone po BindableObject)
ClearValue(BindablePropertyKey)

Czyści dowolną wartość, która jest wcześniej ustawiona dla właściwości możliwej do powiązania, zidentyfikowaną przez jego klucz.

(Odziedziczone po BindableObject)
CoerceValue(BindableProperty)

Przekształca wartość określonej właściwości możliwej do powiązania. Jest to wykonywane przez wywołanie BindableProperty.CoerceValueDelegate określonej właściwości możliwej do powiązania.

(Odziedziczone po BindableObject)
CoerceValue(BindablePropertyKey)

Przekształca wartość określonej właściwości możliwej do powiązania. Jest to wykonywane przez wywołanie BindableProperty.CoerceValueDelegate określonej właściwości możliwej do powiązania.

(Odziedziczone po BindableObject)
GetValue(BindableProperty)

Zwraca wartość zawartą w danej właściwości możliwej do powiązania.

(Odziedziczone po BindableObject)
IsSet(BindableProperty)

Określa, czy właściwość możliwe do powiązania istnieje i ma zestaw wartości.

(Odziedziczone po BindableObject)
OnBindingContextChanged()

BindingContextChanged Wywołuje zdarzenie.

(Odziedziczone po BindableObject)
OnPropertyChanged(String)

PropertyChanged Wywołuje zdarzenie.

(Odziedziczone po BindableObject)
OnPropertyChanging(String)

PropertyChanging Wywołuje zdarzenie.

(Odziedziczone po BindableObject)
RemoveBinding(BindableProperty)

Usuwa wcześniej ustawione powiązanie z właściwości możliwej do powiązania.

(Odziedziczone po BindableObject)
SetBinding(BindableProperty, BindingBase)

Przypisuje powiązanie do właściwości możliwej do powiązania.

(Odziedziczone po BindableObject)
SetValue(BindableProperty, Object)

Ustawia wartość określonej właściwości możliwej do powiązania.

(Odziedziczone po BindableObject)
SetValue(BindablePropertyKey, Object)

Ustawia wartość określonej właściwości możliwej do powiązania.

(Odziedziczone po BindableObject)
UnapplyBindings()

Usuwa wszystkie bieżące powiązania z bieżącego kontekstu.

(Odziedziczone po BindableObject)

Zdarzenia

BindingContextChanged

Występuje, gdy wartość BindingContext właściwości ulegnie zmianie.

(Odziedziczone po BindableObject)
PropertyChanged

Występuje, gdy wartość właściwości ulegnie zmianie.

(Odziedziczone po BindableObject)
PropertyChanging

Występuje, gdy wartość właściwości się zmienia.

(Odziedziczone po BindableObject)

Jawne implementacje interfejsu

IDynamicResourceHandler.SetDynamicResource(BindableProperty, String)

Klasa, która reprezentuje warunek właściwości i akcję wykonywaną po spełnieniu warunku.

(Odziedziczone po BindableObject)
IValueProvider.ProvideValue(IServiceProvider)

Klasa, która reprezentuje warunek właściwości i akcję wykonywaną po spełnieniu warunku.

Metody rozszerzania

GetPropertyIfSet<T>(BindableObject, BindableProperty, T)

Klasa, która reprezentuje warunek właściwości i akcję wykonywaną po spełnieniu warunku.

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

Klasa, która reprezentuje warunek właściwości i akcję wykonywaną po spełnieniu warunku.

SetAppThemeColor(BindableObject, BindableProperty, Color, Color)

Klasa, która reprezentuje warunek właściwości i akcję wykonywaną po spełnieniu warunku.

SetBinding(BindableObject, BindableProperty, String, BindingMode, IValueConverter, String)

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

SetBinding<TSource,TProperty>(BindableObject, BindableProperty, Func<TSource,TProperty>, BindingMode, IValueConverter, Object, String, Object, Object, Object)

Tworzy powiązanie między właściwością obiektu źródłowego a właściwością obiektu docelowego.

Dotyczy

Zobacz też