MultiDataTrigger Classe

Définition

Représente un déclencheur qui applique des valeurs de propriété ou exécute des actions lorsque les données liées remplissent un ensemble de conditions.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
Héritage
Attributs
Implémente

Exemples

Dans l’exemple suivant, la propriété ItemsSource du ListBox est liée à Places, une ObservableCollection<T> de Place objets.In the following example, the ItemsSource property of the ListBox is bound to Places, an ObservableCollection<T> of Place objects. les objets Place ont des propriétés Name et State.Place objects have properties Name and State. La définition des Place et des Places ne sont pas affichées.The definition of Place and Places are not shown.

Chaque ListBoxItem de la ListBox affiche un objet Place.Each ListBoxItem of the ListBox displays a Place object. Le Style dans l’exemple est appliqué à chaque ListBoxItem.The Style in the example is applied to each ListBoxItem. Les éléments Condition du MultiDataTrigger spécifient que si les Name et State de l’élément de données Place sont Portland et OR respectivement, l’arrière-plan du ListBoxItem correspondant est défini sur 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>

Remarques

Un objet MultiDataTrigger est semblable à un MultiTrigger, sauf que les conditions d’un MultiDataTrigger sont basées sur les valeurs de propriété des données liées au lieu de celles d’un UIElement.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. Dans un MultiDataTrigger, une condition est remplie lorsque la valeur de propriété de l’élément de données correspond à la Valuespécifiée.In a MultiDataTrigger, a condition is met when the property value of the data item matches the specified Value. Vous pouvez ensuite utiliser des méthodes setter ou les propriétés EnterActions et ExitActions pour appliquer des modifications ou démarrer des actions lorsque toutes les conditions sont remplies.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 propriété Setters d’un objet MultiDataTrigger peut uniquement être composée d’objets Setter.The Setters property of a MultiDataTrigger object can only consist of Setter objects. L’ajout d’un Setter enfant à un objet MultiDataTrigger l’ajoute implicitement au SetterBaseCollection pour l’objet MultiDataTrigger.Adding a Setter child to a MultiDataTrigger object implicitly adds it to the SetterBaseCollection for the MultiDataTrigger object. les objets EventSetter ne sont pas pris en charge ; seul Style.Setters prend en charge les objets EventSetter.EventSetter objects are not supported; only Style.Setters supports EventSetter objects.

Pour plus d’informations sur l’utilisation des déclencheurs et sur l’utilisation d’autres techniques, consultez vue d’ensemble des modèles de données.For information about when to use triggers and when to use other techniques, see Data Templating Overview.

Constructeurs

MultiDataTrigger()

Initialise une nouvelle instance de la classe MultiDataTrigger.Initializes a new instance of the MultiDataTrigger class.

Propriétés

Conditions

Obtient une collection d'objets Condition.Gets a collection of Condition objects. Les modifications apportées aux valeurs de propriété sont appliquées lorsque toutes les conditions dans la collection sont remplies.Changes to property values are applied when all the conditions in the collection are met.

DependencyObjectType

Obtient le DependencyObjectType qui encapsule le type CLRCLR de cette instance.Gets the DependencyObjectType that wraps the CLRCLR type of this instance.

(Hérité de DependencyObject)
Dispatcher

Obtient le Dispatcher associé à DispatcherObject.Gets the Dispatcher this DispatcherObject is associated with.

(Hérité de DispatcherObject)
EnterActions

Obtient une collection d’objets TriggerAction à appliquer quand l’objet de déclencheur devient actif.Gets a collection of TriggerAction objects to apply when the trigger object becomes active. Cette propriété ne s’applique pas à la classe EventTrigger.This property does not apply to the EventTrigger class.

(Hérité de TriggerBase)
ExitActions

Obtient une collection d’objets TriggerAction à appliquer quand l’objet déclencheur devient inactif.Gets a collection of TriggerAction objects to apply when the trigger object becomes inactive. Cette propriété ne s’applique pas à la classe EventTrigger.This property does not apply to the EventTrigger class.

(Hérité de TriggerBase)
IsSealed

Récupère une valeur qui indique si cette instance est actuellement sealed (en lecture seule).Gets a value that indicates whether this instance is currently sealed (read-only).

(Hérité de DependencyObject)
Setters

Obtient une collection des objets Setter qui décrivent les valeurs de propriété à appliquer lorsque toutes les conditions du MultiDataTrigger sont remplies.Gets a collection of Setter objects that describe the property values to apply when all the conditions of the MultiDataTrigger are met.

Méthodes

CheckAccess()

Détermine si le thread appelant a accès à ce DispatcherObject.Determines whether the calling thread has access to this DispatcherObject.

(Hérité de DispatcherObject)
ClearValue(DependencyProperty)

Efface la valeur locale d’une propriété.Clears the local value of a property. La propriété à effacer est spécifiée par un identificateur DependencyProperty.The property to be cleared is specified by a DependencyProperty identifier.

(Hérité de DependencyObject)
ClearValue(DependencyPropertyKey)

Efface la valeur locale d’une propriété en lecture seule.Clears the local value of a read-only property. La propriété à effacer est spécifiée par DependencyPropertyKey.The property to be cleared is specified by a DependencyPropertyKey.

(Hérité de DependencyObject)
CoerceValue(DependencyProperty)

Convertit la valeur de la propriété de dépendance spécifiée.Coerces the value of the specified dependency property. Pour cela, on appelle toute fonction CoerceValueCallback spécifiée dans les métadonnées de propriété pour la propriété de dépendance telle qu’elle existe sur le DependencyObject appelant.This is accomplished by invoking any CoerceValueCallback function specified in property metadata for the dependency property as it exists on the calling DependencyObject.

(Hérité de DependencyObject)
Equals(Object)

Détermine si un DependencyObject fourni est équivalent au DependencyObject réel.Determines whether a provided DependencyObject is equivalent to the current DependencyObject.

(Hérité de DependencyObject)
GetHashCode()

Obtient un code de hachage pour ce DependencyObject.Gets a hash code for this DependencyObject.

(Hérité de DependencyObject)
GetLocalValueEnumerator()

Crée un énumérateur spécialisé pour déterminer quelles propriétés de dépendance ont des valeurs définies localement sur ce DependencyObject.Creates a specialized enumerator for determining which dependency properties have locally set values on this DependencyObject.

(Hérité de DependencyObject)
GetType()

Obtient le Type de l'instance actuelle.Gets the Type of the current instance.

(Hérité de Object)
GetValue(DependencyProperty)

Retourne la valeur effective actuelle d’une propriété de dépendance sur cette instance d’un DependencyObject.Returns the current effective value of a dependency property on this instance of a DependencyObject.

(Hérité de DependencyObject)
InvalidateProperty(DependencyProperty)

Réévalue la valeur effective de la propriété de dépendance spécifiée.Re-evaluates the effective value for the specified dependency property.

(Hérité de DependencyObject)
MemberwiseClone()

Crée une copie superficielle du Object actuel.Creates a shallow copy of the current Object.

(Hérité de Object)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Méthode appelée chaque fois que la valeur effective d’une propriété de dépendance sur ce DependencyObject a été mise à jour.Invoked whenever the effective value of any dependency property on this DependencyObject has been updated. La propriété de dépendance spécifique qui a changé est signalée dans les données d’événement.The specific dependency property that changed is reported in the event data.

(Hérité de DependencyObject)
ReadLocalValue(DependencyProperty)

Retourne la valeur locale d’une propriété de dépendance, si elle existe.Returns the local value of a dependency property, if it exists.

(Hérité de DependencyObject)
SetCurrentValue(DependencyProperty, Object)

Définit la valeur d’une propriété de dépendance sans modifier sa valeur source.Sets the value of a dependency property without changing its value source.

(Hérité de DependencyObject)
SetValue(DependencyProperty, Object)

Définit la valeur locale d’une propriété de dépendance, spécifiée par son identificateur de propriété de dépendance.Sets the local value of a dependency property, specified by its dependency property identifier.

(Hérité de DependencyObject)
SetValue(DependencyPropertyKey, Object)

Définit la valeur locale d’une propriété de dépendance en lecture seule, spécifiée par l’identificateur DependencyPropertyKey de la propriété de dépendance.Sets the local value of a read-only dependency property, specified by the DependencyPropertyKey identifier of the dependency property.

(Hérité de DependencyObject)
ShouldSerializeProperty(DependencyProperty)

Retourne une valeur qui indique si les processus de sérialisation doivent sérialiser la valeur de la propriété de dépendance fournie.Returns a value that indicates whether serialization processes should serialize the value for the provided dependency property.

(Hérité de DependencyObject)
ToString()

Retourne une chaîne qui représente l'objet actif.Returns a string that represents the current object.

(Hérité de Object)
VerifyAccess()

Garantit que le thread appelant a accès à DispatcherObject.Enforces that the calling thread has access to this DispatcherObject.

(Hérité de DispatcherObject)

Implémentations d’interfaces explicites

IAddChild.AddChild(Object)

Ajoute un objet enfant.Adds a child object.

IAddChild.AddText(String)

Ajoute le contenu textuel d’un nœud à l’objet.Adds the text content of a node to the object.

S’applique à

Voir aussi