Partager via


MultiDataTrigger.Setters Propriété

Définition

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

public:
 property System::Windows::SetterBaseCollection ^ Setters { System::Windows::SetterBaseCollection ^ get(); };
public System.Windows.SetterBaseCollection Setters { get; }
member this.Setters : System.Windows.SetterBaseCollection
Public ReadOnly Property Setters As SetterBaseCollection

Valeur de propriété

Collection d'objets Setter. La valeur par défaut est une collection vide.

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 Place et Places ne sont pas affichées.

Chacun ListBoxItem d’eux ListBox affiche un Place objet . dans Style l’exemple est appliqué à chaque ListBoxItem. Les Condition éléments de spécifient MultiDataTrigger 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.

Notez que <MultiDataTrigger.Setters> est implicite.

<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

MultiDataTrigger vous permet de démarrer des actions à l’aide EnterActions des propriétés ou ExitActions , ou de définir des valeurs de propriété à l’aide Setter d’objets lorsque les données liées répondent à un ensemble de conditions.

S’il existe deux Setter objets dans les collections setter identiques ou différentes qui définissent la même propriété, le Setter qui est déclaré en dernier est utilisé.

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.

Utilisation des éléments de propriété XAML

<object>  
    zeroOrMoreSetters  
</object>  

Valeurs XAML

zeroOrMoreSetters
Zéro ou plusieurs Setter objets.

S’applique à

Voir aussi