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 die gebundenen Daten eine Reihe 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 des ListBox Objekts an Placeseine ObservableCollection<T> von Place Objekten gebunden.
Place Objekte verfügen über Eigenschaften Name und State. Die Definition von Place und Places werden nicht angezeigt.
Jedes ListBoxItem der ListBox Objekte zeigt ein Place Objekt an. Das Style im Beispiel wird auf die einzelnen ListBoxItem. Die Condition Elemente der MultiDataTrigger Angabe, dass, wenn das Name Datenelement bzw StateORPlace. das Datenelement vorhanden istPortland, der Hintergrund des entsprechenden ListBoxItem Elements auf festgelegt Cyanist.
<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, mit der Ausnahme, dass die Bedingungen eines MultiDataTrigger Objekts auf Eigenschaftswerten gebundener Daten basieren, anstatt auf denen eines UIElement. In einer MultiDataTrigger, wird eine Bedingung erfüllt, wenn der Eigenschaftswert des Datenelements mit dem angegebenen übereinstimmt Value. Sie können dann Setter oder die EnterActions Eigenschaften ExitActions verwenden, um Änderungen anzuwenden oder Aktionen zu starten, wenn alle Bedingungen erfüllt sind.
Die Setters Eigenschaft eines MultiDataTrigger Objekts kann nur aus Objekten bestehen Setter . Das Hinzufügen eines Setter untergeordneten Elements zu einem MultiDataTrigger Objekt fügt es implizit dem SetterBaseCollection Objekt für das MultiDataTrigger Objekt hinzu. EventSetterObjekte werden nicht unterstützt; unterstützt EventSetter nur Style.Setters Objekte.
Informationen dazu, wann Trigger und wann andere Techniken verwendet werden sollen, finden Sie unter Data Templating Overview.
Konstruktoren
| Name | Beschreibung |
|---|---|
| MultiDataTrigger() |
Initialisiert eine neue Instanz der MultiDataTrigger-Klasse. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| Conditions |
Ruft eine Auflistung von Condition Objekten ab. Änderungen an Eigenschaftswerten werden angewendet, wenn alle Bedingungen in der Auflistung erfüllt sind. |
| DependencyObjectType |
Ruft den DependencyObjectType CLR-Typ dieser Instanz ab. (Geerbt von DependencyObject) |
| Dispatcher |
Ruft dies Dispatcher ab, dem dies DispatcherObject zugeordnet ist. (Geerbt von DispatcherObject) |
| EnterActions |
Ruft eine Auflistung von TriggerAction Objekten ab, die angewendet werden sollen, wenn das Triggerobjekt aktiv 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 inaktiv wird. Diese Eigenschaft gilt nicht für die EventTrigger Klasse. (Geerbt von TriggerBase) |
| IsSealed |
Ruft einen Wert ab, der angibt, ob diese Instanz aktuell versiegelt ist (schreibgeschützt). (Geerbt von DependencyObject) |
| Setters |
Ruft eine Auflistung von Setter Objekten ab, die die Eigenschaftswerte beschreiben, die angewendet werden sollen, wenn alle Bedingungen erfüllt MultiDataTrigger sind. |
Methoden
| Name | Beschreibung |
|---|---|
| CheckAccess() |
Bestimmt, ob der aufrufende Thread Zugriff auf diesen DispatcherObjectThread hat. (Geerbt von DispatcherObject) |
| ClearValue(DependencyProperty) |
Löscht den lokalen Wert einer Eigenschaft. Die zu löschende Eigenschaft wird durch einen DependencyProperty Bezeichner angegeben. (Geerbt von DependencyObject) |
| ClearValue(DependencyPropertyKey) |
Löscht den lokalen Wert einer schreibgeschützten Eigenschaft. Die zu löschende Eigenschaft wird durch eine DependencyPropertyKey. (Geerbt von DependencyObject) |
| CoerceValue(DependencyProperty) |
Wandelt den Wert der angegebenen Abhängigkeitseigenschaft um. Dies wird erreicht, indem alle CoerceValueCallback in Eigenschaftsmetadaten für die Abhängigkeitseigenschaft angegebenen Funktionen aufgerufen werden, wie sie für den Aufruf DependencyObjectvorhanden sind. (Geerbt von DependencyObject) |
| Equals(Object) |
Bestimmt, ob ein bereitgestelltes DependencyObject Element dem aktuellen DependencyObjectentspricht. (Geerbt von DependencyObject) |
| GetHashCode() |
Ruft einen Hashcode für diese DependencyObjectab. (Geerbt von DependencyObject) |
| GetLocalValueEnumerator() |
Erstellt einen speziellen Enumerator, um zu bestimmen, welche Abhängigkeitseigenschaften lokal festgelegte Werte für diese DependencyObjectEigenschaft haben. (Geerbt von DependencyObject) |
| GetType() |
Ruft die Type der aktuellen Instanz ab. (Geerbt von Object) |
| GetValue(DependencyProperty) |
Gibt den aktuellen effektiven Wert einer Abhängigkeitseigenschaft für diese Instanz einer .DependencyObject (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 der aktuellen Object. (Geerbt von Object) |
| OnPropertyChanged(DependencyPropertyChangedEventArgs) |
Wird immer aufgerufen, wenn der effektive Wert einer Abhängigkeitseigenschaft für diese DependencyObject Eigenschaft aktualisiert wurde. Die spezifische Abhängigkeitseigenschaft, die geändert wurde, wird in den Ereignisdaten gemeldet. (Geerbt von DependencyObject) |
| ReadLocalValue(DependencyProperty) |
Gibt den lokalen Wert einer Abhängigkeitseigenschaft zurück, sofern vorhanden. (Geerbt von DependencyObject) |
| SetCurrentValue(DependencyProperty, Object) |
Legt den Wert einer Abhängigkeitseigenschaft fest, ohne die Wertquelle zu ändern. (Geerbt von DependencyObject) |
| SetValue(DependencyProperty, Object) |
Legt den lokalen Wert einer Abhängigkeitseigenschaft fest, die durch den Bezeichner der Abhängigkeitseigenschaft angegeben wird. (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 wird. (Geerbt von DependencyObject) |
| ShouldSerializeProperty(DependencyProperty) |
Gibt einen Wert zurück, der angibt, ob Serialisierungsprozesse den Wert für die bereitgestellte 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 Zugriff auf diesen DispatcherObjectThread hat. (Geerbt von DispatcherObject) |
Explizite Schnittstellenimplementierungen
| Name | Beschreibung |
|---|---|
| IAddChild.AddChild(Object) |
Fügt ein untergeordnetes Objekt hinzu. |
| IAddChild.AddText(String) |
Fügt dem Objekt den Textinhalt eines Knotens hinzu. |