Partager via


MultiDataTrigger.Conditions Propriété

Définition

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.

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

Valeur de propriété

ConditionCollection

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

Exemples

Dans l’exemple suivant, la ItemsSource propriété de l’objet ListBox est liée à Placesun ObservableCollection<T> objet Place . Place les objets ont des propriétés Name et State. La définition et Place Places ne sont pas affichées.

Chacun ListBoxItem des ListBox objets affiche un Place objet. L’exemple Style est appliqué à chaque ListBoxItem. Les Condition éléments de la MultiDataTrigger spécification indiquent que si le Name et State l’élément Place 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. Cette valeur est d’abord convertie en type de la valeur de la liaison, si possible, puis les deux valeurs sont comparées à l’aide de la Object.Equals méthode. Applique MultiTrigger les setters ou actions associés lorsque toutes les conditions sont vraies (opération binaire AND ).

Pour un MultiDataTrigger, chaque condition de la collection doit définir à la fois les propriétés et Value les Binding propriétés. Pour plus d'informations, consultez Binding.

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

<object>  
  <object.Conditions>  
    zeroOrMoreConditions  
  </object.Conditions>  
</object>  

Valeurs XAML

zeroOrMoreConditions
Zéro ou plusieurs Condition objets.

S’applique à

Voir aussi