DataTrigger Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Desencadenador que activa establecedores cuando un valor enlazado coincide con un valor especificado.
public ref class DataTrigger sealed : Microsoft::Maui::Controls::TriggerBase
public ref class DataTrigger sealed : Microsoft::Maui::Controls::TriggerBase, Microsoft::Maui::Controls::Xaml::IValueProvider
[Microsoft.Maui.Controls.ContentProperty("Setters")]
public sealed class DataTrigger : Microsoft.Maui.Controls.TriggerBase
[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")>]
type DataTrigger = class
inherit TriggerBase
[<Microsoft.Maui.Controls.ContentProperty("Setters")>]
[<Microsoft.Maui.Controls.Xaml.AcceptEmptyServiceProvider>]
type DataTrigger = class
inherit TriggerBase
interface IValueProvider
Public NotInheritable Class DataTrigger
Inherits TriggerBase
Public NotInheritable Class DataTrigger
Inherits TriggerBase
Implements IValueProvider
- Herencia
- Atributos
- Implementaciones
Comentarios
La DataTrigger clase es adecuada para comprobar los valores de otros controles, así como cualquier propiedad del control al que se ha agregado. Es decir, su contexto de enlace predeterminado es el control al que se ha agregado.
En el ejemplo XML siguiente se pide al usuario que escriba en el secreto, es decir, "El color del texto es verde". Cuando el usuario ha escrito "The", el texto De entrada cambia el color a rojo. Cuando el usuario completa el secreto, el texto Etiqueta se vuelve verde. El código se vuelve al color predeterminado si el usuario edita el secreto. En este ejemplo se muestra cómo enlazar al control envolvente (Entrada de entrada) y a un control arbitary (entrada de etiqueta)
<?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>
Constructores
| Nombre | Description |
|---|---|
| DataTrigger(Type) |
Inicializa una nueva instancia de DataTrigger. |
Propiedades
| Nombre | Description |
|---|---|
| Binding |
Obtiene o establece el enlace cuyo valor se comparará para Value determinar cuándo activar el desencadenador. |
| BindingContext |
Obtiene o establece un objeto que contiene las propiedades destinadas a las propiedades enlazadas que pertenecen a este BindableObjectobjeto . Esta es una propiedad enlazable. (Heredado de BindableObject) |
| Dispatcher |
Obtiene el distribuidor que estaba disponible cuando se creó este objeto enlazable; de lo contrario, intenta encontrar el distribuidor disponible más cercano (probablemente el de la ventana o la aplicación). (Heredado de BindableObject) |
| EnterActions |
Obtiene la colección de TriggerAction objetos que se van a invocar cuando la condición del desencadenador se vuelve verdadera. (Heredado de TriggerBase) |
| ExitActions |
Obtiene la colección de TriggerAction objetos que se va a invocar cuando la condición del desencadenador se convierte en false. (Heredado de TriggerBase) |
| IsSealed |
Obtiene un valor que indica si este desencadenador se ha asociado a un elemento y ya no se puede modificar. (Heredado de TriggerBase) |
| Setters |
Obtiene la colección de Setter objetos que se van a aplicar cuando se cumple la condición del desencadenador. |
| TargetType |
Obtiene el tipo de objeto al que se puede adjuntar este desencadenador. (Heredado de TriggerBase) |
| Value |
Obtiene o establece el valor con el que se va a comparar Binding para determinar cuándo activar el desencadenador. |
Métodos
| Nombre | Description |
|---|---|
| ApplyBindings() |
Aplica todos los enlaces actuales a BindingContext. (Heredado de BindableObject) |
| ClearValue(BindableProperty) |
Borra cualquier valor establecido previamente para una propiedad enlazable. (Heredado de BindableObject) |
| ClearValue(BindablePropertyKey) |
Borra cualquier valor establecido previamente para una propiedad enlazable, identificada por su clave. (Heredado de BindableObject) |
| CoerceValue(BindableProperty) |
Convierte el valor de la propiedad enlazable especificada. Para ello, se invoca BindableProperty.CoerceValueDelegate la propiedad enlazable especificada. (Heredado de BindableObject) |
| CoerceValue(BindablePropertyKey) |
Convierte el valor de la propiedad enlazable especificada. Para ello, se invoca BindableProperty.CoerceValueDelegate la propiedad enlazable especificada. (Heredado de BindableObject) |
| GetValue(BindableProperty) |
Devuelve el valor contenido en la propiedad enlazable especificada. (Heredado de BindableObject) |
| IsSet(BindableProperty) |
Determina si existe o no una propiedad enlazable y tiene un valor establecido. (Heredado de BindableObject) |
| OnBindingContextChanged() |
Genera el evento BindingContextChanged. (Heredado de BindableObject) |
| OnPropertyChanged(String) |
Genera el evento PropertyChanged. (Heredado de BindableObject) |
| OnPropertyChanging(String) |
Genera el evento PropertyChanging. (Heredado de BindableObject) |
| RemoveBinding(BindableProperty) |
Quita un enlace establecido previamente de una propiedad enlazable. (Heredado de BindableObject) |
| SetBinding(BindableProperty, BindingBase) |
Asigna un enlace a una propiedad enlazable. (Heredado de BindableObject) |
| SetValue(BindableProperty, Object) |
Establece el valor de la propiedad enlazable especificada. (Heredado de BindableObject) |
| SetValue(BindablePropertyKey, Object) |
Establece el valor de la propiedad enlazable especificada. (Heredado de BindableObject) |
| UnapplyBindings() |
Quita todos los enlaces actuales del contexto actual. (Heredado de BindableObject) |
Eventos
| Nombre | Description |
|---|---|
| BindingContextChanged |
Se produce cuando cambia el valor de la propiedad BindingContext. (Heredado de BindableObject) |
| PropertyChanged |
Se produce cuando un valor de propiedad cambia. (Heredado de BindableObject) |
| PropertyChanging |
Se produce cuando cambia el valor de una propiedad. (Heredado de BindableObject) |
Implementaciones de interfaz explícitas
| Nombre | Description |
|---|---|
| IDynamicResourceHandler.SetDynamicResource(BindableProperty, String) |
Desencadenador que activa establecedores cuando un valor enlazado coincide con un valor especificado. (Heredado de BindableObject) |
| IValueProvider.ProvideValue(IServiceProvider) |
Desencadenador que activa establecedores cuando un valor enlazado coincide con un valor especificado. |
Métodos de extensión
| Nombre | Description |
|---|---|
| GetPropertyIfSet<T>(BindableObject, BindableProperty, T) |
Desencadenador que activa establecedores cuando un valor enlazado coincide con un valor especificado. |
| SetAppTheme<T>(BindableObject, BindableProperty, T, T) |
Desencadenador que activa establecedores cuando un valor enlazado coincide con un valor especificado. |
| SetAppThemeColor(BindableObject, BindableProperty, Color, Color) |
Desencadenador que activa establecedores cuando un valor enlazado coincide con un valor especificado. |
| SetBinding(BindableObject, BindableProperty, String, BindingMode, IValueConverter, String) |
Crea y aplica un enlace a una propiedad. |
| SetBinding<TSource,TProperty>(BindableObject, BindableProperty, Func<TSource,TProperty>, BindingMode, IValueConverter, Object, String, Object, Object, Object) |
Crea un enlace entre una propiedad en el objeto de origen y una propiedad en el objeto de destino. |