MultiDataTrigger MultiDataTrigger MultiDataTrigger MultiDataTrigger Class

Definición

Representa un desencadenador que aplica los valores de propiedades o realiza las acciones cuando los datos enlazados cumplen un conjunto de condiciones.Represents a trigger that applies property values or performs actions when the bound data meet a set of conditions.

public ref class MultiDataTrigger sealed : System::Windows::TriggerBase, System::Windows::Markup::IAddChild
[System.Windows.Markup.ContentProperty("Setters")]
public sealed class MultiDataTrigger : System.Windows.TriggerBase, System.Windows.Markup.IAddChild
type MultiDataTrigger = class
    inherit TriggerBase
    interface IAddChild
Public NotInheritable Class MultiDataTrigger
Inherits TriggerBase
Implements IAddChild
Herencia
Atributos
Implementaciones

Ejemplos

En el ejemplo siguiente, la ItemsSource propiedad ListBox de ObservableCollection<T> se enlaza a Places, de Place objetos.In the following example, the ItemsSource property of the ListBox is bound to Places, an ObservableCollection<T> of Place objects. Placelos objetos tienen Name propiedades Statey.Place objects have properties Name and State. No se muestra Place la Places definición de y.The definition of Place and Places are not shown.

Cada ListBoxItem deListBox muestra unPlace objeto.Each ListBoxItem of the ListBox displays a Place object. En el ejemplo se aplica a cada ListBoxItem. StyleThe Style in the example is applied to each ListBoxItem. Los Condition Name State elementos Portland OR de especifican que ListBoxItem si y del elemento de datossonyrespectivamente,seestableceelfondodecorrespondiente.Place MultiDataTrigger a Cyan.The Condition elements of the MultiDataTrigger specify that if the Name and State of the Place data item are Portland and OR respectively, then the background of corresponding ListBoxItem is set to Cyan.

<Window.Resources>
  <c:Places x:Key="PlacesData"/>

  <Style TargetType="ListBoxItem">
    <Style.Triggers>
      <DataTrigger Binding="{Binding Path=State}" Value="WA">
        <Setter Property="Foreground" Value="Red" />
      </DataTrigger>	
      <MultiDataTrigger>
        <MultiDataTrigger.Conditions>
          <Condition Binding="{Binding Path=Name}" Value="Portland" />
          <Condition Binding="{Binding Path=State}" Value="OR" />
        </MultiDataTrigger.Conditions>
        <Setter Property="Background" Value="Cyan" />
      </MultiDataTrigger>
    </Style.Triggers>
  </Style>

  <DataTemplate DataType="{x:Type c:Place}">
    <Canvas Width="160" Height="20">
      <TextBlock FontSize="12"
  		   Width="130" Canvas.Left="0" Text="{Binding Path=Name}"/>
      <TextBlock FontSize="12" Width="30"
                 Canvas.Left="130" Text="{Binding Path=State}"/>
    </Canvas>
  </DataTemplate>
</Window.Resources>

<StackPanel>
  <TextBlock FontSize="18" Margin="5" FontWeight="Bold"
    HorizontalAlignment="Center">Data Trigger Sample</TextBlock>
  <ListBox Width="180" HorizontalAlignment="Center" Background="Honeydew"
    ItemsSource="{Binding Source={StaticResource PlacesData}}"/>
</StackPanel>

Comentarios

Un MultiDataTrigger objeto es similar MultiTriggera, salvo que las condiciones de una MultiDataTrigger se basan en los valores de propiedad de los datos UIElementenlazados en lugar de en los de.A MultiDataTrigger object is similar to a MultiTrigger, except that the conditions of a MultiDataTrigger are based on property values of bound data instead of those of a UIElement. En, se cumple una condición cuando el valor de propiedad del elemento de datos coincide con el Valueespecificado. MultiDataTriggerIn a MultiDataTrigger, a condition is met when the property value of the data item matches the specified Value. Después, puede usar establecedores o las EnterActions propiedades ExitActions y para aplicar cambios o acciones de inicio cuando se cumplen todas las condiciones.You can then use setters or the EnterActions and ExitActions properties to apply changes or start actions when all of the conditions are met.

La Setters propiedad de un MultiDataTrigger objeto solo puede constar Setter de objetos.The Setters property of a MultiDataTrigger object can only consist of Setter objects. Al agregar Setter un elemento secundario MultiDataTrigger a un objeto, se agrega implícitamente a MultiDataTrigger SetterBaseCollection para el objeto.Adding a Setter child to a MultiDataTrigger object implicitly adds it to the SetterBaseCollection for the MultiDataTrigger object. EventSetterno se admiten objetos; solo Style.Setters admiteEventSetter objetos.EventSetter objects are not supported; only Style.Setters supports EventSetter objects.

Para obtener información sobre Cuándo usar desencadenadores y Cuándo usar otras técnicas, consulte información general sobre plantillas de datos.For information about when to use triggers and when to use other techniques, see Data Templating Overview.

Constructores

MultiDataTrigger() MultiDataTrigger() MultiDataTrigger() MultiDataTrigger()

Inicializa una nueva instancia de la clase MultiDataTrigger.Initializes a new instance of the MultiDataTrigger class.

Propiedades

Conditions Conditions Conditions Conditions

Obtiene una colección de objetos Condition.Gets a collection of Condition objects. Los cambios en los valores de propiedades se aplican cuando se cumplen todas las condiciones de la colección.Changes to property values are applied when all the conditions in the collection are met.

DependencyObjectType DependencyObjectType DependencyObjectType DependencyObjectType

Obtiene el objeto DependencyObjectType que ajusta el tipo CLRCLR de esta instancia.Gets the DependencyObjectType that wraps the CLRCLR type of this instance.

(Inherited from DependencyObject)
Dispatcher Dispatcher Dispatcher Dispatcher

Obtiene el objeto Dispatcher al que está asociado DispatcherObject.Gets the Dispatcher this DispatcherObject is associated with.

(Inherited from DispatcherObject)
EnterActions EnterActions EnterActions EnterActions

Obtiene una colección de objetos TriggerAction que se aplican cuando el objeto desencadenador pasa a estar activo.Gets a collection of TriggerAction objects to apply when the trigger object becomes active. Esta propiedad no se aplica a la clase EventTrigger.This property does not apply to the EventTrigger class.

(Inherited from TriggerBase)
ExitActions ExitActions ExitActions ExitActions

Obtiene una colección de objetos TriggerAction que se aplican cuando el objeto desencadenador pasa a estar inactivo.Gets a collection of TriggerAction objects to apply when the trigger object becomes inactive. Esta propiedad no se aplica a la clase EventTrigger.This property does not apply to the EventTrigger class.

(Inherited from TriggerBase)
IsSealed IsSealed IsSealed IsSealed

Obtiene un valor que indica si esta instancia está actualmente sellada (es de solo lectura).Gets a value that indicates whether this instance is currently sealed (read-only).

(Inherited from DependencyObject)
Setters Setters Setters Setters

Obtiene una colección de objetos Setter que describen los valores de propiedades que se van a aplicar cuando se cumplan todas las condiciones de MultiDataTrigger.Gets a collection of Setter objects that describe the property values to apply when all the conditions of the MultiDataTrigger are met.

Implementaciones de interfaz explícitas

IAddChild.AddChild(Object) IAddChild.AddChild(Object) IAddChild.AddChild(Object) IAddChild.AddChild(Object)

Agrega un objeto secundario.Adds a child object.

IAddChild.AddText(String) IAddChild.AddText(String) IAddChild.AddText(String) IAddChild.AddText(String)

Agrega el contenido de texto de un nodo al objeto.Adds the text content of a node to the object.

Métodos

CheckAccess() CheckAccess() CheckAccess() CheckAccess()

Determina si el subproceso de la llamada tiene acceso a DispatcherObject.Determines whether the calling thread has access to this DispatcherObject.

(Inherited from DispatcherObject)
ClearValue(DependencyProperty) ClearValue(DependencyProperty) ClearValue(DependencyProperty) ClearValue(DependencyProperty)

Borra el valor local de una propiedad.Clears the local value of a property. La propiedad que se va a borrar se especifica mediante un identificador DependencyProperty.The property to be cleared is specified by a DependencyProperty identifier.

(Inherited from DependencyObject)
ClearValue(DependencyPropertyKey) ClearValue(DependencyPropertyKey) ClearValue(DependencyPropertyKey) ClearValue(DependencyPropertyKey)

Borra el valor local de una propiedad de solo lectura.Clears the local value of a read-only property. La propiedad que se va a borrar se especifica mediante un DependencyPropertyKey.The property to be cleared is specified by a DependencyPropertyKey.

(Inherited from DependencyObject)
CoerceValue(DependencyProperty) CoerceValue(DependencyProperty) CoerceValue(DependencyProperty) CoerceValue(DependencyProperty)

Convierte el valor de la propiedad de dependencia especificada.Coerces the value of the specified dependency property. Esto se logra invocando cualquier función CoerceValueCallback especificada en los metadatos de la propiedad de dependencia tal como existe en la clase DependencyObject que llama.This is accomplished by invoking any CoerceValueCallback function specified in property metadata for the dependency property as it exists on the calling DependencyObject.

(Inherited from DependencyObject)
Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Determina si un objeto DependencyObject proporcionado es equivalente al objeto DependencyObject actual.Determines whether a provided DependencyObject is equivalent to the current DependencyObject.

(Inherited from DependencyObject)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Obtiene el código hash de DependencyObject.Gets a hash code for this DependencyObject.

(Inherited from DependencyObject)
GetLocalValueEnumerator() GetLocalValueEnumerator() GetLocalValueEnumerator() GetLocalValueEnumerator()

Crea un enumerador especializado para determinar qué propiedades de dependencia han establecido localmente los valores en DependencyObject.Creates a specialized enumerator for determining which dependency properties have locally set values on this DependencyObject.

(Inherited from DependencyObject)
GetType() GetType() GetType() GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Inherited from Object)
GetValue(DependencyProperty) GetValue(DependencyProperty) GetValue(DependencyProperty) GetValue(DependencyProperty)

Devuelve el valor efectivo actual de una propiedad de dependencia en esta instancia de un DependencyObject.Returns the current effective value of a dependency property on this instance of a DependencyObject.

(Inherited from DependencyObject)
InvalidateProperty(DependencyProperty) InvalidateProperty(DependencyProperty) InvalidateProperty(DependencyProperty) InvalidateProperty(DependencyProperty)

Vuelve a evaluar el valor efectivo para la propiedad de dependencia especificada.Re-evaluates the effective value for the specified dependency property

(Inherited from DependencyObject)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crea una copia superficial del objeto Object actual.Creates a shallow copy of the current Object.

(Inherited from Object)
OnPropertyChanged(DependencyPropertyChangedEventArgs) OnPropertyChanged(DependencyPropertyChangedEventArgs) OnPropertyChanged(DependencyPropertyChangedEventArgs) OnPropertyChanged(DependencyPropertyChangedEventArgs)

Se invoca cuando se actualiza el valor efectivo de alguna propiedad de dependencia en este DependencyObject.Invoked whenever the effective value of any dependency property on this DependencyObject has been updated. Se informa de la propiedad de dependencia concreta que cambió en los datos de evento.The specific dependency property that changed is reported in the event data.

(Inherited from DependencyObject)
ReadLocalValue(DependencyProperty) ReadLocalValue(DependencyProperty) ReadLocalValue(DependencyProperty) ReadLocalValue(DependencyProperty)

Devuelve el valor local de una propiedad de dependencia, si existe.Returns the local value of a dependency property, if it exists.

(Inherited from DependencyObject)
SetCurrentValue(DependencyProperty, Object) SetCurrentValue(DependencyProperty, Object) SetCurrentValue(DependencyProperty, Object) SetCurrentValue(DependencyProperty, Object)

Establece el valor de una propiedad de dependencia sin cambiar el origen del valor.Sets the value of a dependency property without changing its value source.

(Inherited from DependencyObject)
SetValue(DependencyProperty, Object) SetValue(DependencyProperty, Object) SetValue(DependencyProperty, Object) SetValue(DependencyProperty, Object)

Establece el valor local de una propiedad de dependencia, especificado mediante el identificador de la propiedad de dependencia.Sets the local value of a dependency property, specified by its dependency property identifier.

(Inherited from DependencyObject)
SetValue(DependencyPropertyKey, Object) SetValue(DependencyPropertyKey, Object) SetValue(DependencyPropertyKey, Object) SetValue(DependencyPropertyKey, Object)

Establece el valor local de una propiedad de dependencia de solo lectura, especificado por el identificador DependencyPropertyKey de la propiedad de dependencia.Sets the local value of a read-only dependency property, specified by the DependencyPropertyKey identifier of the dependency property.

(Inherited from DependencyObject)
ShouldSerializeProperty(DependencyProperty) ShouldSerializeProperty(DependencyProperty) ShouldSerializeProperty(DependencyProperty) ShouldSerializeProperty(DependencyProperty)

Devuelve un valor que indica si los procesos de serialización deben serializar el valor de la propiedad de dependencia especificada.Returns a value that indicates whether serialization processes should serialize the value for the provided dependency property.

(Inherited from DependencyObject)
ToString() ToString() ToString() ToString()

Devuelve una cadena que representa el objeto actual.Returns a string that represents the current object.

(Inherited from Object)
VerifyAccess() VerifyAccess() VerifyAccess() VerifyAccess()

Exige que el subproceso de la llamada tenga acceso a DispatcherObject.Enforces that the calling thread has access to this DispatcherObject.

(Inherited from DispatcherObject)

Se aplica a

Consulte también: