MultiDataTrigger.Conditions 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 Condition-Objekten ab. Änderungen an Eigenschaftswerten werden angewendet, wenn alle Bedingungen in der Auflistung erfüllt werden.
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
Eigenschaftswert
Eine Auflistung von Condition-Objekten. Der Standard 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.
<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
Ein MultiDataTrigger Objekt ähnelt einem MultiTrigger, außer dass die Bedingungen MultiDataTrigger eines Objekts auf Eigenschaftenwerten gebundener Daten basieren, anstatt auf denen eines UIElement. In einem MultiDataTrigger, wird eine Bedingung erfüllt, wenn der Eigenschaftswert des Datenelements dem angegebenen Valueentspricht. Dieser Wert wird zuerst in den Typ des Werts der Bindung konvertiert, falls möglich, und dann werden die beiden Werte mit der Object.Equals
Methode verglichen. Die MultiTrigger zugeordneten Setter oder Aktionen werden angewendet, wenn alle Bedingungen wahr sind (binärer AND
Vorgang).
Für eine MultiDataTrigger, jede Bedingung in der Auflistung muss sowohl die Eigenschaften als auch die Binding Value Eigenschaften festlegen. Weitere Informationen finden Sie unter Binding.
Verwendung von XAML-Eigenschaftenelementen
<object>
<object.Conditions>
zeroOrMoreConditions
</object.Conditions>
</object>
XAML-Werte
zeroOrMoreConditions
Null oder mehr Condition Objekte.