MultiDataTrigger.Conditions Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera kolekcję Condition obiektów. Zmiany wartości właściwości są stosowane, gdy zostaną spełnione wszystkie warunki w kolekcji.
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
Wartość właściwości
Kolekcja obiektów Condition. Wartością domyślną jest pusta kolekcja.
Przykłady
W poniższym przykładzie ItemsSource właściwość ListBox obiektu jest powiązana z Places
obiektem ObservableCollection<T> Place
. Place
obiekty mają właściwości Name
i State
. Definicja i Place
Places
nie są wyświetlane.
Każdy ListBoxItem z nich ListBox wyświetla Place
obiekt. Element Style w przykładzie jest stosowany do każdego ListBoxItemelementu . Condition Elementy MultiDataTrigger elementu określają, że jeśli Name
element danych i State
Place
są Portland
i OR
odpowiednio, tło odpowiadające ListBoxItem mu jest ustawione na Cyan
wartość .
<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>
Uwagi
MultiDataTrigger Obiekt jest podobny do MultiTriggerobiektu , z tą różnicą, że warunki obiektu MultiDataTrigger są oparte na wartościach właściwości powiązanych danych zamiast tych UIElementz . W elemencie MultiDataTriggerwarunek jest spełniony, gdy wartość właściwości elementu danych jest zgodna z określoną wartością Value. Ta wartość jest najpierw konwertowana na typ powiązania, jeśli to możliwe, a następnie dwie wartości są porównywane przy użyciu Object.Equals
metody . Element MultiTrigger stosuje skojarzone zestawy lub akcje, gdy wszystkie warunki są prawdziwe (operacja binarna AND
).
Dla elementu MultiDataTriggerkażdy warunek w kolekcji musi ustawić zarówno właściwości, jak Binding i Value . Aby uzyskać więcej informacji, zobacz Binding.
Użycie elementu właściwości języka XAML
<object>
<object.Conditions>
zeroOrMoreConditions
</object.Conditions>
</object>
Wartości XAML
zeroOrMoreConditions
Zero lub więcej Condition obiektów.