MultiDataTrigger Klasa
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.
Reprezentuje wyzwalacz, który stosuje wartości właściwości lub wykonuje akcje, gdy powiązane dane spełniają zestaw warunków.
public ref class MultiDataTrigger sealed : System::Windows::TriggerBase, System::Windows::Markup::IAddChild
[System.Windows.Markup.ContentProperty("Setters")]
public sealed class MultiDataTrigger : System.Windows.TriggerBase, System.Windows.Markup.IAddChild
[<System.Windows.Markup.ContentProperty("Setters")>]
type MultiDataTrigger = class
inherit TriggerBase
interface IAddChild
Public NotInheritable Class MultiDataTrigger
Inherits TriggerBase
Implements IAddChild
- Dziedziczenie
- Atrybuty
- Implementuje
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. Następnie można użyć zestawów lub EnterActions właściwości i ExitActions do stosowania zmian lub akcji uruchamiania po spełnieniu wszystkich warunków.
Właściwość SettersMultiDataTrigger obiektu może składać się tylko z Setter obiektów. Setter Dodanie elementu podrzędnego MultiDataTrigger do obiektu niejawnie dodaje go do SetterBaseCollection obiektu dla MultiDataTrigger obiektu . EventSetterobiekty nie są obsługiwane; obsługuje EventSetter tylko Style.Setters obiekty.
Aby uzyskać informacje o tym, kiedy używać wyzwalaczy i kiedy używać innych technik, zobacz Omówienie tworzenia szablonów danych.
Konstruktory
MultiDataTrigger() |
Inicjuje nowe wystąpienie klasy MultiDataTrigger. |
Właściwości
Conditions |
Pobiera kolekcję Condition obiektów. Zmiany wartości właściwości są stosowane, gdy zostaną spełnione wszystkie warunki w kolekcji. |
DependencyObjectType |
DependencyObjectType Pobiera opakowujący typ clR tego wystąpienia. (Odziedziczone po DependencyObject) |
Dispatcher |
Dispatcher Pobiera tę DispatcherObject wartość skojarzona z. (Odziedziczone po DispatcherObject) |
EnterActions |
Pobiera kolekcję TriggerAction obiektów do zastosowania, gdy obiekt wyzwalacza staje się aktywny. Ta właściwość nie ma zastosowania do EventTrigger klasy. (Odziedziczone po TriggerBase) |
ExitActions |
Pobiera kolekcję TriggerAction obiektów do zastosowania, gdy obiekt wyzwalacza staje się nieaktywny. Ta właściwość nie ma zastosowania do EventTrigger klasy. (Odziedziczone po TriggerBase) |
IsSealed |
Pobiera wartość wskazującą, czy to wystąpienie jest obecnie zapieczętowane (tylko do odczytu). (Odziedziczone po DependencyObject) |
Setters |
Pobiera kolekcję Setter obiektów opisujących wartości właściwości, które mają być stosowane, gdy zostaną spełnione wszystkie warunki MultiDataTrigger . |
Metody
CheckAccess() |
Określa, czy wątek wywołujący ma dostęp do tego DispatcherObjectelementu . (Odziedziczone po DispatcherObject) |
ClearValue(DependencyProperty) |
Czyści wartość lokalną właściwości. Właściwość do wyczyszczenia jest określana przez DependencyProperty identyfikator. (Odziedziczone po DependencyObject) |
ClearValue(DependencyPropertyKey) |
Czyści wartość lokalną właściwości tylko do odczytu. Właściwość do wyczyszczenia jest określana przez DependencyPropertyKeyelement . (Odziedziczone po DependencyObject) |
CoerceValue(DependencyProperty) |
Coerce wartość określonej właściwości zależności. Jest to realizowane przez wywołanie dowolnej CoerceValueCallback funkcji określonej w metadanych właściwości dla właściwości zależności, ponieważ istnieje w wywołaniu DependencyObject. (Odziedziczone po DependencyObject) |
Equals(Object) |
Określa, czy podany DependencyObject element jest odpowiednikiem bieżącego DependencyObjectelementu . (Odziedziczone po DependencyObject) |
GetHashCode() |
Pobiera kod skrótu dla tego pliku DependencyObject. (Odziedziczone po DependencyObject) |
GetLocalValueEnumerator() |
Tworzy wyspecjalizowany moduł wyliczający do określania, które właściwości zależności mają lokalnie ustawione wartości w tym DependencyObjectelemecie . (Odziedziczone po DependencyObject) |
GetType() |
Type Pobiera bieżące wystąpienie. (Odziedziczone po Object) |
GetValue(DependencyProperty) |
Zwraca bieżącą obowiązującą wartość właściwości zależności dla tego wystąpienia obiektu DependencyObject. (Odziedziczone po DependencyObject) |
InvalidateProperty(DependencyProperty) |
Ponownie oblicza efektywną wartość dla określonej właściwości zależności. (Odziedziczone po DependencyObject) |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
OnPropertyChanged(DependencyPropertyChangedEventArgs) |
Wywoływane za każdym razem, gdy obowiązująca wartość dowolnej właściwości zależności została DependencyObject zaktualizowana. Określona właściwość zależności, która uległa zmianie, jest zgłaszana w danych zdarzenia. (Odziedziczone po DependencyObject) |
ReadLocalValue(DependencyProperty) |
Zwraca wartość lokalną właściwości zależności, jeśli istnieje. (Odziedziczone po DependencyObject) |
SetCurrentValue(DependencyProperty, Object) |
Ustawia wartość właściwości zależności bez zmiany źródła wartości. (Odziedziczone po DependencyObject) |
SetValue(DependencyProperty, Object) |
Ustawia wartość lokalną właściwości zależności określonej przez jego identyfikator właściwości zależności. (Odziedziczone po DependencyObject) |
SetValue(DependencyPropertyKey, Object) |
Ustawia wartość lokalną właściwości zależności tylko do odczytu określona przez DependencyPropertyKey identyfikator właściwości zależności. (Odziedziczone po DependencyObject) |
ShouldSerializeProperty(DependencyProperty) |
Zwraca wartość wskazującą, czy procesy serializacji powinny serializować wartość podanej właściwości zależności. (Odziedziczone po DependencyObject) |
ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |
VerifyAccess() |
Wymusza, że wątek wywołujący ma dostęp do tego DispatcherObjectelementu . (Odziedziczone po DispatcherObject) |
Jawne implementacje interfejsu
IAddChild.AddChild(Object) |
Dodaje obiekt podrzędny. |
IAddChild.AddText(String) |
Dodaje zawartość tekstową węzła do obiektu. |