Sdílet prostřednictvím


DataTrigger Třída

Definice

Třída, která představuje podmínku na libovolné vazbě, spolu se seznamem Setter objektů, které budou použity při splnění podmínky.

public ref class DataTrigger sealed : Microsoft::Maui::Controls::TriggerBase, Microsoft::Maui::Controls::Xaml::IValueProvider
[Microsoft.Maui.Controls.ContentProperty("Setters")]
[Microsoft.Maui.Controls.Xaml.AcceptEmptyServiceProvider]
public sealed class DataTrigger : Microsoft.Maui.Controls.TriggerBase, Microsoft.Maui.Controls.Xaml.IValueProvider
[<Microsoft.Maui.Controls.ContentProperty("Setters")>]
[<Microsoft.Maui.Controls.Xaml.AcceptEmptyServiceProvider>]
type DataTrigger = class
    inherit TriggerBase
    interface IValueProvider
Public NotInheritable Class DataTrigger
Inherits TriggerBase
Implements IValueProvider
Dědičnost
Atributy
Implementuje

Poznámky

Třída DataTrigger je vhodná pro kontrolu hodnot v jiných ovládacích prvcích a také pro libovolnou vlastnost ovládacího prvku, do kterého byla přidána. To znamená, že výchozí kontext vazby je ovládací prvek, ke kterému byl přidán.

Následující příklad XML vyzve uživatele k zadání tajného kódu, což je "Barva textu je zelená". Když uživatel zadá "The", změní se text položky na červenou. Po dokončení tajného kódu se text popisku změní na zelenou. Kód se vrátí zpět na výchozí barvu, pokud uživatel pak upraví tajný kód. Tento příklad ukazuje, jak vytvořit vazbu k ohraničujícímu ovládacímu prvku (Entry from Entry) a k ovládacímu prvku arbitární (Entry from Label).

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

Inicializuje novou DataTrigger instanci.

Vlastnosti

Binding

Získá nebo nastaví vazbu, jejíž hodnota bude porovnána Value s určením, kdy vyvolat setters.

BindingContext

Získá nebo nastaví objekt obsahující vlastnosti, které budou cílem vázané vlastnosti, které patří do tohoto BindableObject. Toto je vlastnost s možností vazby.

(Zděděno od BindableObject)
Dispatcher

Získá dispečer, který byl k dispozici při vytvoření tohoto objektu bindable, jinak se pokusí najít nejbližší dostupný dispečer (pravděpodobně okno/aplikace).

(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. Ignorováno pro EventTrigger třídu.

(Zděděno od TriggerBase)
IsSealed

Získá hodnotu, která označuje, zda je aktivační událost zapečetěna.

(Zděděno od TriggerBase)
Setters

Získá seznam Setter objektů, které budou použity při vazbě, která je pojmenována Binding vlastností se rovná Value.

TargetType

Typ objektu, ke kterému lze tento TriggerBase objekt připojit.

(Zděděno od TriggerBase)
Value

Získá nebo nastaví hodnotu vazby pojmenované Binding vlastností, která způsobí použití setters.

Metody

ApplyBindings()

Použije všechny aktuální vazby na BindingContext.

(Zděděno od BindableObject)
ClearValue(BindableProperty)

Vymaže libovolnou hodnotu, která byla dříve nastavena pro vlastnost bindable.

(Zděděno od BindableObject)
ClearValue(BindablePropertyKey)

Vymaže libovolnou hodnotu, která byla dříve nastavena pro vlastnost bindable identifikovanou jeho klíčem.

(Zděděno od BindableObject)
CoerceValue(BindableProperty)

Převede hodnotu zadané vlastnosti bindable. To se provádí vyvoláním BindableProperty.CoerceValueDelegate zadané bindable vlastnosti.

(Zděděno od BindableObject)
CoerceValue(BindablePropertyKey)

Převede hodnotu zadané vlastnosti bindable. To se provádí vyvoláním BindableProperty.CoerceValueDelegate zadané bindable vlastnosti.

(Zděděno od BindableObject)
GetValue(BindableProperty)

Vrátí hodnotu obsaženou v dané vlastnosti bindable.

(Zděděno od BindableObject)
IsSet(BindableProperty)

Určuje, zda existuje vlastnost bindable a má nastavenou hodnotu.

(Zděděno od BindableObject)
OnBindingContextChanged()

BindingContextChanged Vyvolá událost.

(Zděděno od BindableObject)
OnPropertyChanged(String)

PropertyChanged Vyvolá událost.

(Zděděno od BindableObject)
OnPropertyChanging(String)

PropertyChanging Vyvolá událost.

(Zděděno od BindableObject)
RemoveBinding(BindableProperty)

Odebere dříve nastavenou vazbu z vlastnosti bindable.

(Zděděno od BindableObject)
SetBinding(BindableProperty, BindingBase)

Přiřadí vazbu k vlastnosti s možností vazby.

(Zděděno od BindableObject)
SetValue(BindableProperty, Object)

Nastaví hodnotu zadané vlastnosti bindable.

(Zděděno od BindableObject)
SetValue(BindablePropertyKey, Object)

Nastaví hodnotu zadané vlastnosti bindable.

(Zděděno od BindableObject)
UnapplyBindings()

Odebere všechny aktuální vazby z aktuálního kontextu.

(Zděděno od BindableObject)

Událost

BindingContextChanged

Nastane, když se změní hodnota BindingContext vlastnosti.

(Zděděno od BindableObject)
PropertyChanged

Nastane, když se změní hodnota vlastnosti.

(Zděděno od BindableObject)
PropertyChanging

Nastane při změně hodnoty vlastnosti.

(Zděděno od BindableObject)

Explicitní implementace rozhraní

IDynamicResourceHandler.SetDynamicResource(BindableProperty, String)

Třída, která představuje podmínku na libovolné vazbě, spolu se seznamem Setter objektů, které budou použity při splnění podmínky.

(Zděděno od BindableObject)
IValueProvider.ProvideValue(IServiceProvider)

Třída, která představuje podmínku na libovolné vazbě, spolu se seznamem Setter objektů, které budou použity při splnění podmínky.

Metody rozšíření

GetPropertyIfSet<T>(BindableObject, BindableProperty, T)

Třída, která představuje podmínku na libovolné vazbě, spolu se seznamem Setter objektů, které budou použity při splnění podmínky.

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

Třída, která představuje podmínku na libovolné vazbě, spolu se seznamem Setter objektů, které budou použity při splnění podmínky.

SetAppThemeColor(BindableObject, BindableProperty, Color, Color)

Třída, která představuje podmínku na libovolné vazbě, spolu se seznamem Setter objektů, které budou použity při splnění podmínky.

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

Vytvoří a použije vazbu na vlastnost.

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

Vytvoří vazbu mezi vlastností zdrojového objektu a vlastností cílového objektu.

Platí pro