MultiDataTrigger Klasse

Definition

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 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.

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 Cyanfestgelegt.

<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.

Gilt für

Siehe auch