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.
[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
- 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 em controles diferentes do pai, os desenvolvedores devem usar a DataTrigger classe .
O exemplo XML abaixo solicita que o usuário digite o segredo, ou seja, "A cor do texto é vermelha". Quando o usuário digita o segredo, o texto entrada muda de cor para vermelho. O código será voltado para a cor padrão se o usuário editar o texto para diferir do segredo. Este exemplo mostra como associar ao controle delimitante 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 continuar 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 o objeto que contém as propriedades que serão o destino das propriedades associadas que pertencem a este BindableObject. (Herdado de BindableObject) |
Dispatcher |
Classe que representa uma condição de propriedade e uma ação executada quando a condição é atendida. (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() |
Aplicar as associações a BindingContext. (Herdado de BindableObject) |
ClearValue(BindableProperty) |
Limpa qualquer valor definido por SetValue para |
ClearValue(BindablePropertyKey) |
Limpa qualquer valor definido por SetValue para a propriedade identificada por |
CoerceValue(BindableProperty) |
Classe que representa uma condição de propriedade e uma ação executada quando a condição é atendida. (Herdado de BindableObject) |
CoerceValue(BindablePropertyKey) |
Classe que representa uma condição de propriedade e uma ação executada quando a condição é atendida. (Herdado de BindableObject) |
GetValue(BindableProperty) |
Retorna o valor contido na BindableProperty. (Herdado de BindableObject) |
GetValues(BindableProperty, BindableProperty, BindableProperty) |
Obsoleto.
Para uso interno pela plataforma do Xamarin.Forms. (Herdado de BindableObject) |
GetValues(BindableProperty, BindableProperty) |
Obsoleto.
Para uso interno pela plataforma do Xamarin.Forms. (Herdado de BindableObject) |
IsSet(BindableProperty) |
Retornará |
OnBindingContextChanged() |
Substitua este método para executar uma ação quando BindingContext mudar. (Herdado de BindableObject) |
OnPropertyChanged(String) |
Chame esse método de uma classe filho para notificar que ocorreu uma alteração em uma propriedade. (Herdado de BindableObject) |
OnPropertyChanging(String) |
Chame esse método de uma classe filho para notificar que uma alteração vai acontecer em uma propriedade. (Herdado de BindableObject) |
RemoveBinding(BindableProperty) |
Remove uma associação definida anteriormente. (Herdado de BindableObject) |
SetBinding(BindableProperty, BindingBase) |
Atribui uma associação a uma propriedade. (Herdado de BindableObject) |
SetValue(BindableProperty, Object) |
Define o valor da propriedade especificada. (Herdado de BindableObject) |
SetValue(BindablePropertyKey, Object) |
Define o valor da propertyKey. (Herdado de BindableObject) |
SetValueCore(BindableProperty, Object, SetValueFlags) |
Para uso interno pela plataforma do Xamarin.Forms. (Herdado de BindableObject) |
UnapplyBindings() |
Cancela a aplicação de todas as associações definidas anteriormente. (Herdado de BindableObject) |
Eventos
BindingContextChanged |
Gerado sempre que a propriedade BindingContext muda. (Herdado de BindableObject) |
PropertyChanged |
Gerado quando uma propriedade foi alterada. (Herdado de BindableObject) |
PropertyChanging |
Gerado quando uma propriedade está prestes a mudar. (Herdado de BindableObject) |
Implantações explícitas de interface
IDynamicResourceHandler.SetDynamicResource(BindableProperty, String) |
Para uso interno pela plataforma do Xamarin.Forms. (Herdado de BindableObject) |
IValueProvider.ProvideValue(IServiceProvider) |
Para uso interno pela plataforma do Xamarin.Forms. |
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. |
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>(BindableObject, BindableProperty, Expression<Func<TSource,Object>>, BindingMode, IValueConverter, String) |
Obsoleto.
Cria e aplica uma associação de uma expressão. |
SetOnAppTheme<T>(BindableObject, BindableProperty, T, T) |
Classe que representa uma condição de propriedade e uma ação executada quando a condição é atendida. |