Trigger Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Klasa reprezentująca warunek właściwości i akcję wykonywaną po spełnieniu warunku.
[Xamarin.Forms.ContentProperty("Setters")]
[Xamarin.Forms.Xaml.AcceptEmptyServiceProvider]
public sealed class Trigger : Xamarin.Forms.TriggerBase, Xamarin.Forms.Xaml.IValueProvider
type Trigger = class
inherit TriggerBase
interface 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 zmieni 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ć z otaczającą kontrolką za pomocą wyzwalacza.
<?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 jest wyświetlany monit o udzielenie odpowiedzi na pytanie dotyczące koloru tekstu, a następnie wywołuje metodę ColorTriggerAction
, aby zmienić tekst na czerwony, gdy użytkownik wpisze tekst "Kolor tekstu jest czerwony". Deweloperzy powinni pamiętać, że chociaż w tym przykładzie tekst nie jest zmieniany z powrotem na domyślny kolor, gdy użytkownik kontynuuje edycję ciągu, 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 do utworzenia strony, 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 "The text"?"
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 przez powiązane właściwości, które należą do tego BindableObjectobiektu . (Odziedziczone po BindableObject) |
Dispatcher |
Klasa reprezentująca warunek właściwości i akcję wykonywaną po spełnieniu warunku. (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 zostaną wywołane 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ć metody ustawiających. |
Setters |
Pobiera listę Setter obiektów, które zostaną zastosowane, gdy właściwość, która jest nazwana przez Property 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 przez Property właściwość, która spowoduje zastosowanie metod ustawiających. |
Metody
ApplyBindings() |
Zastosuj powiązania do elementu BindingContext. (Odziedziczone po BindableObject) |
ClearValue(BindableProperty) |
Czyści dowolną wartość ustawioną przez SetValue dla elementu |
ClearValue(BindablePropertyKey) |
Czyści dowolną wartość ustawioną dla SetValue właściwości, która jest identyfikowana przez |
CoerceValue(BindableProperty) |
Klasa reprezentująca warunek właściwości i akcję wykonywaną po spełnieniu warunku. (Odziedziczone po BindableObject) |
CoerceValue(BindablePropertyKey) |
Klasa reprezentująca warunek właściwości i akcję wykonywaną po spełnieniu warunku. (Odziedziczone po BindableObject) |
GetValue(BindableProperty) |
Zwraca wartość zawartą w właściwości BindableProperty. (Odziedziczone po BindableObject) |
GetValues(BindableProperty, BindableProperty, BindableProperty) |
Przestarzałe.
Do użytku wewnętrznego przez platformę Xamarin. Forms platformy. (Odziedziczone po BindableObject) |
GetValues(BindableProperty, BindableProperty) |
Przestarzałe.
Do użytku wewnętrznego przez platformę Xamarin. Forms platformy. (Odziedziczone po BindableObject) |
IsSet(BindableProperty) |
Zwraca wartość |
OnBindingContextChanged() |
Zastąpij tę metodę, aby wykonać akcję po zmianie elementu BindingContext. (Odziedziczone po BindableObject) |
OnPropertyChanged(String) |
Wywołaj tę metodę z klasy podrzędnej, aby powiadomić o zmianie właściwości. (Odziedziczone po BindableObject) |
OnPropertyChanging(String) |
Wywołaj tę metodę z klasy podrzędnej, aby powiadomić, że zmiana ma nastąpić we właściwości. (Odziedziczone po BindableObject) |
RemoveBinding(BindableProperty) |
Usuwa wcześniej 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 platformy. (Odziedziczone po BindableObject) |
UnapplyBindings() |
Usuwa wszystkie wcześniej ustawione powiązania. (Odziedziczone po BindableObject) |
Zdarzenia
BindingContextChanged |
Wywoływane za każdym razem, gdy zmienia się BindingContext właściwość. (Odziedziczone po BindableObject) |
PropertyChanged |
Podniesione, gdy właściwość uległa zmianie. (Odziedziczone po BindableObject) |
PropertyChanging |
Podniesione, gdy właściwość ma ulec zmianie. (Odziedziczone po BindableObject) |
Jawne implementacje interfejsu
IDynamicResourceHandler.SetDynamicResource(BindableProperty, String) |
Do użytku wewnętrznego przez platformę Xamarin. Forms platformy. (Odziedziczone po BindableObject) |
IValueProvider.ProvideValue(IServiceProvider) |
Do użytku wewnętrznego przez platformę Xamarin. Forms platformy. |
Metody rozszerzania
GetPropertyIfSet<T>(BindableObject, BindableProperty, T) |
Klasa reprezentująca warunek właściwości i akcję wykonywaną po spełnieniu warunku. |
SetAppThemeColor(BindableObject, BindableProperty, Color, Color) |
Klasa reprezentująca 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>(BindableObject, BindableProperty, Expression<Func<TSource,Object>>, BindingMode, IValueConverter, String) |
Przestarzałe.
Tworzy i stosuje powiązanie na podstawie wyrażenia. |
SetOnAppTheme<T>(BindableObject, BindableProperty, T, T) |
Klasa reprezentująca warunek właściwości i akcję wykonywaną po spełnieniu warunku. |