MultiDataTrigger Klasse
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.
Stellt einen Trigger dar, der Eigenschaftswerte anwendet oder Aktionen ausführt, wenn gebundene Daten einen Satz von Bedingungen erfüllen.
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
- Vererbung
- Attribute
- Implementiert
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. Sie können dann Setter oder Eigenschaften EnterActions ExitActions verwenden, um Änderungen oder Startaktionen anzuwenden, wenn alle Bedingungen erfüllt sind.
Die Setters Eigenschaft eines MultiDataTrigger Objekts kann nur aus Objekten bestehen Setter . 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.
Informationen zum Verwenden von Triggern und zum Verwenden anderer Techniken finden Sie unter "Übersicht über daten templating".
Konstruktoren
MultiDataTrigger() |
Initialisiert eine neue Instanz der MultiDataTrigger-Klasse. |
Eigenschaften
Conditions |
Ruft eine Auflistung von Condition-Objekten ab. Änderungen an Eigenschaftswerten werden angewendet, wenn alle Bedingungen in der Auflistung erfüllt werden. |
DependencyObjectType |
Ruft den DependencyObjectType CLR-Typ dieser Instanz ab. (Geerbt von DependencyObject) |
Dispatcher |
Ruft den Dispatcher ab, der diesem DispatcherObject zugeordnet ist. (Geerbt von DispatcherObject) |
EnterActions |
Ruft eine Auflistung von TriggerAction-Objekten ab, die angewendet werden sollen, wenn das Triggerobjekt aktiviert wird. Diese Eigenschaft gilt nicht für die EventTrigger-Klasse. (Geerbt von TriggerBase) |
ExitActions |
Ruft eine Auflistung von TriggerAction-Objekten ab, die angewendet werden sollen, wenn das Triggerobjekt deaktiviert wird. Diese Eigenschaft gilt nicht für die EventTrigger-Klasse. (Geerbt von TriggerBase) |
IsSealed |
Ruft einen Wert ab, der angibt, ob diese Instanz derzeit versiegelt (schreibgeschützt) ist. (Geerbt von DependencyObject) |
Setters |
Ruft eine Auflistung von Setter-Objekten ab, die die Eigenschaftswerte beschreiben, die angewendet werden sollen, wenn alle Bedingungen des MultiDataTrigger erfüllt wurden. |
Methoden
CheckAccess() |
Bestimmt, ob der aufrufende Thread auf dieses DispatcherObject zugreifen kann. (Geerbt von DispatcherObject) |
ClearValue(DependencyProperty) |
Löscht den lokalen Wert einer Eigenschaft. Die Eigenschaft, deren Wert gelöscht werden soll, wird durch einen DependencyProperty-Bezeichner angegeben. (Geerbt von DependencyObject) |
ClearValue(DependencyPropertyKey) |
Löscht den lokalen Wert einer schreibgeschützten Eigenschaft. Die Eigenschaft, deren Wert gelöscht werden soll, wird durch einen DependencyPropertyKey angegeben. (Geerbt von DependencyObject) |
CoerceValue(DependencyProperty) |
Erzwingt den Wert der angegebenen Abhängigkeitseigenschaft. Dies erfolgt durch den Aufruf einer beliebigen CoerceValueCallback-Funktion, die in den Metadaten für die Abhängigkeitseigenschaft angegeben ist, während sie beim aufrufenden DependencyObject beendet wird. (Geerbt von DependencyObject) |
Equals(Object) |
Bestimmt, ob ein angegebenes DependencyObject dem aktuellen DependencyObject entspricht. (Geerbt von DependencyObject) |
GetHashCode() |
Ruft einen Hashcode für diese DependencyObject ab. (Geerbt von DependencyObject) |
GetLocalValueEnumerator() |
Erstellt einen spezialisierten Enumerator, mit dem bestimmt wird, welche Abhängigkeitseigenschaften dieses DependencyObject über lokal festgelegte Werte verfügen. (Geerbt von DependencyObject) |
GetType() |
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
GetValue(DependencyProperty) |
Gibt den aktuellen effektiven Wert einer Abhängigkeitseigenschaft für diese Instanz eines DependencyObject zurück. (Geerbt von DependencyObject) |
InvalidateProperty(DependencyProperty) |
Wertet den effektiven Wert für die angegebene Abhängigkeitseigenschaft erneut aus. (Geerbt von DependencyObject) |
MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
OnPropertyChanged(DependencyPropertyChangedEventArgs) |
Wird immer dann aufgerufen, wenn der effektive Wert einer Abhängigkeitseigenschaft für dieses DependencyObject aktualisiert wurde. Welche spezifische Abhängigkeitseigenschaft geändert wird, wird in den Ereignisdaten gemeldet. (Geerbt von DependencyObject) |
ReadLocalValue(DependencyProperty) |
Gibt den lokalen Wert einer Abhängigkeitseigenschaft zurück, wenn dieser vorhanden ist. (Geerbt von DependencyObject) |
SetCurrentValue(DependencyProperty, Object) |
Legt den Wert einer Abhängigkeitseigenschaft fest, ohne deren Wertquelle zu ändern. (Geerbt von DependencyObject) |
SetValue(DependencyProperty, Object) |
Legt den lokalen Wert einer Abhängigkeitseigenschaft fest, die durch ihren Bezeichner angegeben ist. (Geerbt von DependencyObject) |
SetValue(DependencyPropertyKey, Object) |
Legt den lokalen Wert einer schreibgeschützten Abhängigkeitseigenschaft fest, die durch den DependencyPropertyKey-Bezeichner der Abhängigkeitseigenschaft angegeben ist. (Geerbt von DependencyObject) |
ShouldSerializeProperty(DependencyProperty) |
Gibt einen Wert zurück, der angibt, ob Serialisierungsprozesse den Wert der bereitgestellten Abhängigkeitseigenschaft serialisieren sollen. (Geerbt von DependencyObject) |
ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |
VerifyAccess() |
Erzwingt, dass der aufrufende Thread auf dieses DispatcherObject zugreifen kann. (Geerbt von DispatcherObject) |
Explizite Schnittstellenimplementierungen
IAddChild.AddChild(Object) |
Fügt ein untergeordnetes Objekt hinzu. |
IAddChild.AddText(String) |
Fügt dem Objekt den Textinhalt eines Knotens hinzu. |