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.

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
[<System.Windows.Markup.ContentProperty("Setters")>]
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 ItemsSource propriété de ListBox est liée à Places, un ObservableCollection<T> d’objets Place . Place les objets ont des propriétés Name et State. La définition de et Places ne s’affiche Place pas.

Chacun ListBoxItem des ListBox affiche un Place objet. dans Style l’exemple est appliqué à chaque ListBoxItem. Les Condition éléments du MultiDataTrigger spécifient que si et NameState de l’élément Place de données sont Portland et OR respectivement, l’arrière-plan de correspondant ListBoxItem est défini sur 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 MultiDataTrigger objet est similaire à un MultiTrigger, sauf que les conditions d’un MultiDataTrigger sont basées sur les valeurs de propriété de données liées au lieu de celles d’un UIElement. Dans un MultiDataTrigger, une condition est remplie lorsque la valeur de propriété de l’élément de données correspond au spécifié Value. Vous pouvez ensuite utiliser des setters ou les EnterActions propriétés et ExitActions pour appliquer des modifications ou des actions de démarrage lorsque toutes les conditions sont remplies.

La Setters propriété d’un MultiDataTrigger objet ne peut être constituée que d’objets Setter . L’ajout d’un Setter enfant à un MultiDataTrigger objet l’ajoute implicitement au SetterBaseCollection pour l’objet MultiDataTrigger . EventSetter les objets ne sont pas pris en charge ; Prend uniquement Style.Setters en charge les EventSetter objets.

Pour plus d’informations sur l’utilisation des déclencheurs et sur l’utilisation d’autres techniques, consultez Vue d’ensemble de la création de modèles de données.

Constructeurs

MultiDataTrigger()

Initialise une nouvelle instance de la classe MultiDataTrigger.

Propriétés

Conditions

Obtient une collection d'objets Condition. Les modifications apportées aux valeurs de propriété sont appliquées lorsque toutes les conditions dans la collection sont remplies.

DependencyObjectType

Obtient le DependencyObjectType qui encapsule le type CLR de cette instance.

(Hérité de DependencyObject)
Dispatcher

Obtient le Dispatcher associé à DispatcherObject.

(Hérité de DispatcherObject)
EnterActions

Obtient une collection d’objets TriggerAction à appliquer quand l’objet de déclencheur devient actif. Cette propriété ne s’applique pas à la classe EventTrigger.

(Hérité de TriggerBase)
ExitActions

Obtient une collection d’objets TriggerAction à appliquer quand l’objet déclencheur devient inactif. Cette propriété ne s’applique pas à la classe EventTrigger.

(Hérité de TriggerBase)
IsSealed

Récupère une valeur qui indique si cette instance est actuellement sealed (en lecture seule).

(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.

Méthodes

CheckAccess()

Détermine si le thread appelant a accès à ce DispatcherObject.

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

Efface la valeur locale d’une propriété. La propriété à effacer est spécifiée par un identificateur DependencyProperty.

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

Efface la valeur locale d’une propriété en lecture seule. La propriété à effacer est spécifiée par DependencyPropertyKey.

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

Convertit la valeur de la propriété de dépendance spécifiée. 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.

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

Détermine si un DependencyObject fourni est équivalent au DependencyObject réel.

(Hérité de DependencyObject)
GetHashCode()

Obtient un code de hachage pour ce 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.

(Hérité de DependencyObject)
GetType()

Obtient le Type de l'instance actuelle.

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

Retourne la valeur effective actuelle d’une propriété de dépendance sur cette instance d’un DependencyObject.

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

Réévalue la valeur effective de la propriété de dépendance spécifiée.

(Hérité de DependencyObject)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(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. La propriété de dépendance spécifique qui a changé est signalée dans les données d’événement.

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

Retourne la valeur locale d’une propriété de dépendance, si elle existe.

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

Définit la valeur d’une propriété de dépendance sans modifier sa valeur 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.

(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.

(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.

(Hérité de DependencyObject)
ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)
VerifyAccess()

Garantit que le thread appelant a accès à DispatcherObject.

(Hérité de DispatcherObject)

Implémentations d’interfaces explicites

IAddChild.AddChild(Object)

Ajoute un objet enfant.

IAddChild.AddText(String)

Ajoute le contenu textuel d’un nœud à l’objet.

S’applique à

Voir aussi