MultiDataTrigger.Setters Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft eine Auflistung von Setter-Objekten ab, die die Eigenschaftswerte beschreiben, die angewendet werden sollen, wenn alle Bedingungen des MultiDataTrigger erfüllt wurden.
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
Eigenschaftswert
Eine Auflistung von Setter-Objekten. Der Standardwert ist eine leere Auflistung.
Beispiele
Im folgenden Beispiel ist die ItemsSource Eigenschaft der ListBox Eigenschaft an Places
eine ObservableCollection<T> von Place
Objekten gebunden. Place
Objekte verfügen über Eigenschaften Name
und State
. Die Definition von Place
und Places
werden nicht angezeigt.
Jeder ListBoxItem der ListBox Anzeigen eines Place
Objekts. Das Style Beispiel wird auf jede ListBoxItemAnwendung angewendet. Die Condition Elemente des MultiDataTrigger Angebens, dass, wenn das Name
Datenelement und OR
Place
State
das Datenelement vorhanden sindPortland
, dann wird der Hintergrund des entsprechenden ListBoxItem Elements auf Cyan
festgelegt.
Beachten Sie, dass <MultiDataTrigger.Setters>
es implizit ist.
<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>
Hinweise
MultiDataTrigger Ermöglicht Ihnen das Starten von Aktionen mithilfe der EnterActions Eigenschaften oder ExitActions festlegen von Eigenschaftenwerten Setter mithilfe von Objekten, wenn die gebundenen Daten eine Reihe von Bedingungen erfüllen.
Wenn zwei Setter Objekte in derselben oder unterschiedlichen Settersammlungen vorhanden sind, die die gleiche Eigenschaft festlegen, wird die Setter zuletzt deklarierte Eigenschaft verwendet.
Das Hinzufügen eines Setter untergeordneten Objekts zu einem MultiDataTrigger Objekt fügt es SetterBaseCollection MultiDataTrigger implizit dem Objekt hinzu. EventSetterObjekte werden nicht unterstützt; unterstützt EventSetter nur Style.Setters Objekte.
Verwendung von XAML-Eigenschaftenelementen
<object>
zeroOrMoreSetters
</object>
XAML-Werte
zeroOrMoreSetters
Null oder mehr Setter Objekte.