Trigger Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Classe que representa uma condição de propriedade e uma ação executada quando a condição é atendida.
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
- Herança
- Atributos
- Implementações
Comentários
A Trigger classe é adequada para verificar os valores de qualquer propriedade no controle ao qual foi adicionada. Ou seja, seu contexto de associação padrão é o controle ao qual ele foi adicionado. Para associar a controles diferentes do pai, os desenvolvedores devem usar a DataTrigger classe.
O exemplo XML abaixo solicita que o usuário digite o segredo, que é "A cor do texto é vermelha". Quando o usuário digita o segredo, o texto de entrada muda de cor para vermelho. O código é revertido para a cor padrão se o usuário editar o texto para diferir do segredo. Este exemplo mostra como associar ao controle delimitador com um gatilho.
<?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>
O exemplo a seguir mostra como os desenvolvedores podem usar um gatilho para responder a eventos e atualizar o valor de uma propriedade de controle usando TriggerAction<T> classes. O exemplo solicita que o usuário responda a uma pergunta sobre a cor do texto e, em seguida, chama ColorTriggerAction
para tornar o texto vermelho quando o usuário digita "A cor do texto é vermelha". Os desenvolvedores devem observar que, embora este exemplo não altere o texto de volta para a cor padrão quando o usuário continua a editar a cadeia de caracteres, o desenvolvedor também pode implementar e especificar uma ação de saída para obter esse resultado.
Com a classe ColorTriggerAction abaixo definida no TriggerDemo
namespace:
public class ColorTriggerAction : TriggerAction<Entry>
{
protected override void Invoke(Entry sender)
{
sender.TextColor = Color.Red;
}
}
o desenvolvedor pode usar o XAML abaixo para criar a página que responde à cadeia de caracteres secreta alterando a cor da área de Entry texto para vermelho.
<?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>
Construtores
Trigger(Type) |
Inicializa uma nova instância Trigger. |
Propriedades
BindingContext |
Obtém ou define um objeto que contém as propriedades que serão direcionadas pelas propriedades associadas que pertencem a este BindableObject. Esta é uma propriedade associável. (Herdado de BindableObject) |
Dispatcher |
Obtém o dispatcher que estava disponível quando esse objeto associável foi criado, caso contrário, tenta encontrar o dispatcher disponível mais próximo (provavelmente o da janela/aplicativo). (Herdado de BindableObject) |
EnterActions |
Obtém a lista de objetos TriggerAction que serão invocados quando a condição do gatilho for atendida. Ignorado para a classe EventTrigger. (Herdado de TriggerBase) |
ExitActions |
Obtém a lista de objetos TriggerAction que serão invocados depois que a condição do gatilho não for mais atendida. Ignorado para a classe EventTrigger. (Herdado de TriggerBase) |
IsSealed |
Obtém um valor que indica se o gatilho está ou não selado. (Herdado de TriggerBase) |
Property |
Obtém ou define a propriedade cujo valor será comparado a Value para determinar quando invocar os setters. |
Setters |
Obtém a lista de objetos Setter que serão aplicados quando a propriedade nomeada por Property se tornar igual a Value. |
TargetType |
O tipo de objeto ao qual este objeto TriggerBase pode ser anexado. (Herdado de TriggerBase) |
Value |
Obtém ou define o valor da propriedade, nomeada pela propriedade Property, o que fará os setters serem aplicados. |
Métodos
ApplyBindings() |
Aplica todas as associações atuais a BindingContext. (Herdado de BindableObject) |
ClearValue(BindableProperty) |
Limpa qualquer valor definido anteriormente para uma propriedade associável. (Herdado de BindableObject) |
ClearValue(BindablePropertyKey) |
Limpa qualquer valor definido anteriormente para uma propriedade associável, identificada por sua chave. (Herdado de BindableObject) |
CoerceValue(BindableProperty) |
Força-se o valor da propriedade associável especificada. Isso é feito invocando BindableProperty.CoerceValueDelegate a propriedade associável especificada. (Herdado de BindableObject) |
CoerceValue(BindablePropertyKey) |
Força-se o valor da propriedade associável especificada. Isso é feito invocando BindableProperty.CoerceValueDelegate a propriedade associável especificada. (Herdado de BindableObject) |
GetValue(BindableProperty) |
Retorna o valor contido na propriedade associável fornecida. (Herdado de BindableObject) |
IsSet(BindableProperty) |
Determina se existe ou não uma propriedade associável e tem um conjunto de valores. (Herdado de BindableObject) |
OnBindingContextChanged() |
Aciona o evento BindingContextChanged. (Herdado de BindableObject) |
OnPropertyChanged(String) |
Aciona o evento PropertyChanged. (Herdado de BindableObject) |
OnPropertyChanging(String) |
Aciona o evento PropertyChanging. (Herdado de BindableObject) |
RemoveBinding(BindableProperty) |
Remove uma associação definida anteriormente de uma propriedade associável. (Herdado de BindableObject) |
SetBinding(BindableProperty, BindingBase) |
Atribui uma associação a uma propriedade associável. (Herdado de BindableObject) |
SetValue(BindableProperty, Object) |
Define o valor da propriedade associável especificada. (Herdado de BindableObject) |
SetValue(BindablePropertyKey, Object) |
Define o valor da propriedade associável especificada. (Herdado de BindableObject) |
UnapplyBindings() |
Remove todas as associações atuais do contexto atual. (Herdado de BindableObject) |
Eventos
BindingContextChanged |
Ocorre quando o valor da propriedade BindingContext muda. (Herdado de BindableObject) |
PropertyChanged |
Ocorre quando um valor de propriedade é alterado. (Herdado de BindableObject) |
PropertyChanging |
Ocorre quando um valor da propriedade está sendo alterado. (Herdado de BindableObject) |
Implantações explícitas de interface
IDynamicResourceHandler.SetDynamicResource(BindableProperty, String) |
Classe que representa uma condição de propriedade e uma ação executada quando a condição é atendida. (Herdado de BindableObject) |
IValueProvider.ProvideValue(IServiceProvider) |
Classe que representa uma condição de propriedade e uma ação executada quando a condição é atendida. |
Métodos de Extensão
GetPropertyIfSet<T>(BindableObject, BindableProperty, T) |
Classe que representa uma condição de propriedade e uma ação executada quando a condição é atendida. |
SetAppTheme<T>(BindableObject, BindableProperty, T, T) |
Classe que representa uma condição de propriedade e uma ação executada quando a condição é atendida. |
SetAppThemeColor(BindableObject, BindableProperty, Color, Color) |
Classe que representa uma condição de propriedade e uma ação executada quando a condição é atendida. |
SetBinding(BindableObject, BindableProperty, String, BindingMode, IValueConverter, String) |
Cria e aplica uma associação a uma propriedade. |
SetBinding<TSource,TProperty>(BindableObject, BindableProperty, Func<TSource,TProperty>, BindingMode, IValueConverter, Object, String, Object, Object, Object) |
Cria uma associação entre uma propriedade no objeto de origem e uma propriedade no objeto de destino. |