MultiDataTrigger.Setters Eigenschap
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee haalt u een verzameling Setter objecten op die de eigenschapswaarden beschrijven die moeten worden toegepast wanneer aan alle voorwaarden van de objecten MultiDataTrigger wordt voldaan.
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
Waarde van eigenschap
Een verzameling Setter objecten. De standaardwaarde is een lege verzameling.
Voorbeelden
In het volgende voorbeeld is de ItemsSource eigenschap van de eigenschap van de ListBox eigenschap gebonden aan Places, een ObservableCollection<T> van Place objecten.
Place objecten hebben eigenschappen Name en State. De definitie van Place en Places worden niet weergegeven.
Elk ListBoxItem van de ListBox objecten wordt weergegeven Place . Het Style in het voorbeeld wordt toegepast op elke ListBoxItem. De Condition elementen van de MultiDataTrigger opgeven dat als het Name en State van het Place gegevensitem respectievelijk Portland en OR respectievelijk, de achtergrond van de corresponderende ListBoxItem is ingesteld op Cyan.
Houd er rekening mee dat <MultiDataTrigger.Setters> dit impliciet is.
<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>
Opmerkingen
MultiDataTriggerhiermee kunt u acties starten met behulp van de of EnterActions eigenschappenExitActions, of eigenschapswaarden instellen met behulp van Setter objecten wanneer de afhankelijke gegevens voldoen aan een set voorwaarden.
Als er twee Setter objecten in dezelfde of verschillende setterverzamelingen zijn die dezelfde eigenschap instellen, wordt de Setter laatst gedeclareerde waarde gebruikt.
Als u een Setter onderliggend element aan een MultiDataTrigger object toevoegt, wordt dit impliciet toegevoegd aan het SetterBaseCollectionMultiDataTrigger object. EventSetterobjecten worden niet ondersteund; Style.Setters ondersteunt alleen EventSetter objecten.
Gebruik van XAML-eigenschapselement
<object>
zeroOrMoreSetters
</object>
XAML-waarden
zeroOrMoreSetters Nul of meer Setter objecten.