MultiDataTrigger.Setters 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 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 Name
State
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.