Partager via


MultiDataTrigger Classe

Définition

Représente un déclencheur qui applique des valeurs de propriété ou effectue 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 l’objet ListBox est liée à Places, d’objets ObservableCollection<T>Place . Place les objets ont des propriétés Name et State. La définition et PlacePlaces ne sont pas affichées.

Chacun ListBoxItem des affichages d’un ListBoxPlace objet. L’exemple Style est appliqué à chaque ListBoxItem. Les Condition éléments de la MultiDataTrigger spécification indiquent que si l’élément Name de Place données et State l’élément de données sont Portland et OR respectivement, l’arrière-plan correspondant ListBoxItem est défini Cyansur .

<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 des 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 à celle spécifiée Value. Vous pouvez ensuite utiliser des setters ou des EnterActionsExitActions propriétés pour appliquer des modifications ou démarrer des actions lorsque toutes les conditions sont remplies.

La Setters propriété d’un MultiDataTrigger objet ne peut se composer que d’objets Setter . L’ajout d’un Setter enfant à un MultiDataTrigger objet l’ajoute implicitement à l’objet SetterBaseCollectionMultiDataTrigger . EventSetter les objets ne sont pas pris en charge ; prend uniquement Style.Setters en charge les EventSetter objets.

Pour plus d’informations sur le moment où utiliser des déclencheurs et quand utiliser d’autres techniques, consultez Vue d’ensemble de la création de modèles de données.

Constructeurs

Nom Description
MultiDataTrigger()

Initialise une nouvelle instance de la classe MultiDataTrigger.

Propriétés

Nom Description
Conditions

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

DependencyObjectType

Obtient le DependencyObjectType type CLR de cette instance.

(Hérité de DependencyObject)
Dispatcher

Obtient ce Dispatcher qui DispatcherObject est associé.

(Hérité de DispatcherObject)
EnterActions

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

(Hérité de TriggerBase)
ExitActions

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

(Hérité de TriggerBase)
IsSealed

Obtient une valeur qui indique si cette instance est actuellement scellée (en lecture seule).

(Hérité de DependencyObject)
Setters

Obtient une collection d’objets qui décrivent les valeurs de Setter propriété à appliquer lorsque toutes les conditions de la propriété MultiDataTrigger sont remplies.

Méthodes

Nom Description
CheckAccess()

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

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

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

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

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

Force la valeur de la propriété de dépendance spécifiée. Pour ce faire, appelez n’importe quelle CoerceValueCallback fonction spécifiée dans les métadonnées de propriété pour la propriété de dépendance telle qu’elle existe sur l’appel DependencyObject.

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

Détermine si un élément fourni DependencyObject est équivalent à l’actuel DependencyObject.

(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 la 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)

Évalue à nouveau la valeur effective de la propriété de dépendance spécifiée.

(Hérité de DependencyObject)
MemberwiseClone()

Crée une copie superficielle du Objectactuel.

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

Appelé chaque fois que la valeur effective d’une propriété de dépendance sur celle-ci 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, le cas échéant.

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

Définit la valeur d’une propriété de dépendance sans modifier sa source de valeur.

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

Applique que le thread appelant a accès à ce DispatcherObjectfichier .

(Hérité de DispatcherObject)

Implémentations d’interfaces explicites

Nom Description
IAddChild.AddChild(Object)

Ajoute un objet enfant.

IAddChild.AddText(String)

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

S’applique à

Voir aussi