MultiDataTrigger.Conditions Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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é
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 à Places
un 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 Cyan
sur .
<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.