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.
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 jego domyślny kontekst powiązania to kontrolka, do której została dodana. Aby powiązać kontrolki inne niż nadrzędne, deweloperzy powinni użyć DataTrigger klasy , zamiast tego.
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 zostanie przywrócony 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żyć wyzwalacza w celu 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 użytkownika o udzielenie odpowiedzi na pytanie dotyczące koloru tekstu, a następnie wywoła wywołanie ColorTriggerAction
, aby zmienić tekst na czerwony, gdy użytkownik wpisze tekst "Kolor tekstu jest czerwony". Deweloperzy powinni pamiętać, że chociaż ten przykład nie zmienia tekstu 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.
Przy użyciu poniższej klasy ColorTriggerAction zdefiniowanej 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 obszaru tekstowego Entry 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 powiązanymi właściwościami należącymi do tego BindableObjectobiektu . Jest to właściwość z możliwością powiązania. (Odziedziczone po BindableObject) |
Dispatcher |
Pobiera dyspozytor, który był dostępny podczas tworzenia 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. Zignorowano dla EventTrigger klasy. (Odziedziczone po TriggerBase) |
ExitActions |
Pobiera listę TriggerAction obiektów, które będą wywoływane 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) |
Property |
Pobiera lub ustawia właściwość, której wartość zostanie porównana do Value określenia, kiedy należy wywołać zestawery. |
Setters |
Pobiera listę Setter obiektów, które zostaną zastosowane, gdy właściwość o nazwie by 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 według Property właściwości, która spowoduje zastosowanie zestawów. |
Metody
ApplyBindings() |
Stosuje wszystkie bieżące powiązania do BindingContextelementu . (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) |
Coerces 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) |
Coerces 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ść z możliwością powiązania istnieje i ma zestaw wartości. (Odziedziczone po BindableObject) |
OnBindingContextChanged() |
BindingContextChanged Zgłasza zdarzenie. (Odziedziczone po BindableObject) |
OnPropertyChanged(String) |
PropertyChanged Zgłasza zdarzenie. (Odziedziczone po BindableObject) |
OnPropertyChanging(String) |
PropertyChanging Zgłasza zdarzenie. (Odziedziczone po BindableObject) |
RemoveBinding(BindableProperty) |
Usuwa wcześniej ustawione powiązanie z właściwością z możliwością 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 zmienia się. (Odziedziczone po BindableObject) |
Jawne implementacje interfejsu
IDynamicResourceHandler.SetDynamicResource(BindableProperty, String) |
Klasa reprezentująca warunek właściwości i akcję wykonywaną po spełnieniu warunku. (Odziedziczone po BindableObject) |
IValueProvider.ProvideValue(IServiceProvider) |
Klasa reprezentująca warunek właściwości i akcję wykonywaną po spełnieniu warunku. |
Metody rozszerzania
GetPropertyIfSet<T>(BindableObject, BindableProperty, T) |
Klasa reprezentująca warunek właściwości i akcję wykonywaną po spełnieniu warunku. |
SetAppTheme<T>(BindableObject, BindableProperty, T, 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. |
Dotyczy
Zobacz też
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla