Trigger Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Třída, která představuje podmínku vlastnosti a akci, která je provedena při splnění podmínky.
[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
- Dědičnost
- Atributy
- Implementuje
Poznámky
Třída Trigger je vhodná pro kontrolu hodnot jakékoli vlastnosti ovládacího prvku, ke kterému byla přidána. To znamená, že jeho výchozí kontext vazby je ovládací prvek, do kterého byl přidán. Pokud chcete vytvořit vazbu na jiné ovládací prvky než nadřazený, vývojáři by místo toho měli použít DataTrigger třídu .
Následující příklad XML vyzve uživatele k zadání tajného kódu, což je "Barva textu je červená". Když uživatel zadá tajný kód, změní se barva vstupního textu na červenou. Kód se vrátí zpět na výchozí barvu, pokud uživatel pak upraví text tak, aby se liší od tajného kódu. Tento příklad ukazuje, jak vytvořit vazbu na nadřazený ovládací prvek pomocí triggeru.
<?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>
Následující příklad ukazuje, jak můžou vývojáři pomocí triggeru reagovat na události a aktualizovat hodnotu vlastnosti ovládacího prvku pomocí TriggerAction<T> tříd. Příklad vyzve uživatele, aby odpověděl na otázku týkající se barvy textu, a když ColorTriggerAction
uživatel zadá text "Barva textu je červená". Vývojáři by si měli uvědomit, že i když tento příklad nezmění text zpět na výchozí barvu, když uživatel pokračuje v úpravách řetězce, vývojář může navíc implementovat a zadat akci ukončení, aby získal tento výsledek.
S níže definovanou třídou ColorTriggerAction v TriggerDemo
oboru názvů:
public class ColorTriggerAction : TriggerAction<Entry>
{
protected override void Invoke(Entry sender)
{
sender.TextColor = Color.Red;
}
}
Vývojář může pomocí kódu XAML níže vytvořit stránku, která reaguje na tajný řetězec změnou barvy Entry textové oblasti na červenou.
<?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) |
Inicializuje novou Trigger instanci. |
Vlastnosti
BindingContext |
Získá nebo nastaví objekt, který obsahuje vlastnosti, které budou cílit vázané vlastnosti, které patří k tomuto BindableObject. (Zděděno od BindableObject) |
Dispatcher |
Třída, která představuje podmínku vlastnosti a akci, která je provedena při splnění podmínky. (Zděděno od BindableObject) |
EnterActions |
Získá seznam TriggerAction objektů, které budou vyvolány při splnění podmínky triggeru. Ignorováno pro EventTrigger třídu . (Zděděno od TriggerBase) |
ExitActions |
Získá seznam TriggerAction objektů, které budou vyvolány po splnění podmínky triggeru již není splněna. Ignorováno pro EventTrigger třídu . (Zděděno od TriggerBase) |
IsSealed |
Získá hodnotu, která označuje, zda aktivační událost je nebo není zapečetěna. (Zděděno od TriggerBase) |
Property |
Získá nebo nastaví vlastnost, jejíž hodnota bude porovnána k Value určení, kdy vyvolat setters. |
Setters |
Získá seznam Setter objektů, které budou použity, když se vlastnost s názvem stane Property rovna Value. |
TargetType |
Typ objektu, ke kterému lze tento TriggerBase objekt připojit. (Zděděno od TriggerBase) |
Value |
Získá nebo nastaví hodnotu vlastnosti pojmenované Property vlastností, která způsobí použití setters. |
Metody
ApplyBindings() |
Použijte vazby na BindingContext. (Zděděno od BindableObject) |
ClearValue(BindableProperty) |
Vymaže všechny hodnoty nastavené parametrem SetValue pro |
ClearValue(BindablePropertyKey) |
Vymaže všechny hodnoty nastavené parametrem SetValue pro vlastnost, která je identifikovaná parametrem |
CoerceValue(BindableProperty) |
Třída, která představuje podmínku vlastnosti a akci, která je provedena při splnění podmínky. (Zděděno od BindableObject) |
CoerceValue(BindablePropertyKey) |
Třída, která představuje podmínku vlastnosti a akci, která je provedena při splnění podmínky. (Zděděno od BindableObject) |
GetValue(BindableProperty) |
Vrátí hodnotu, která je obsažena v BindableProperty. (Zděděno od BindableObject) |
GetValues(BindableProperty, BindableProperty) |
Zastaralé.
Pro interní použití v Xamarinu. Forms platformu. (Zděděno od BindableObject) |
GetValues(BindableProperty, BindableProperty, BindableProperty) |
Zastaralé.
Pro interní použití v Xamarinu. Forms platformu. (Zděděno od BindableObject) |
IsSet(BindableProperty) |
Vrátí hodnotu |
OnBindingContextChanged() |
Přepsat tuto metodu provést akci při BindingContext změny. (Zděděno od BindableObject) |
OnPropertyChanged(String) |
Volání této metody z podřízené třídy oznámit, že došlo ke změně vlastnosti. (Zděděno od BindableObject) |
OnPropertyChanging(String) |
Voláním této metody z podřízené třídy oznámíte, že u vlastnosti dojde ke změně. (Zděděno od BindableObject) |
RemoveBinding(BindableProperty) |
Odebere dříve nastavenou vazbu. (Zděděno od BindableObject) |
SetBinding(BindableProperty, BindingBase) |
Přiřadí vazbu vlastnosti. (Zděděno od BindableObject) |
SetValue(BindableProperty, Object) |
Nastaví hodnotu zadané vlastnosti. (Zděděno od BindableObject) |
SetValue(BindablePropertyKey, Object) |
Nastaví hodnotu propertyKey. (Zděděno od BindableObject) |
SetValueCore(BindableProperty, Object, SetValueFlags) |
Pro interní použití v Xamarinu. Forms platformu. (Zděděno od BindableObject) |
UnapplyBindings() |
Zruší použití všech dříve nastavených vazeb. (Zděděno od BindableObject) |
Událost
BindingContextChanged |
Vyvolá se BindingContext při každé změně vlastnosti. (Zděděno od BindableObject) |
PropertyChanged |
Vyvolá se při změně vlastnosti. (Zděděno od BindableObject) |
PropertyChanging |
Vyvolá se, když se vlastnost změní. (Zděděno od BindableObject) |
Explicitní implementace rozhraní
IDynamicResourceHandler.SetDynamicResource(BindableProperty, String) |
Pro interní použití v Xamarinu. Forms platformu. (Zděděno od BindableObject) |
IValueProvider.ProvideValue(IServiceProvider) |
Pro interní použití v Xamarinu. Forms platformu. |
Metody rozšíření
GetPropertyIfSet<T>(BindableObject, BindableProperty, T) |
Třída, která představuje podmínku vlastnosti a akci, která je provedena při splnění podmínky. |
SetAppThemeColor(BindableObject, BindableProperty, Color, Color) |
Třída, která představuje podmínku vlastnosti a akci, která je provedena při splnění podmínky. |
SetBinding(BindableObject, BindableProperty, String, BindingMode, IValueConverter, String) |
Vytvoří a použije vazbu na vlastnost. |
SetBinding<TSource>(BindableObject, BindableProperty, Expression<Func<TSource,Object>>, BindingMode, IValueConverter, String) |
Zastaralé.
Vytvoří a použije vazbu z výrazu. |
SetOnAppTheme<T>(BindableObject, BindableProperty, T, T) |
Třída, která představuje podmínku vlastnosti a akci, která je provedena při splnění podmínky. |