MultiDataTrigger Klasa

Definicja

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 Placesobiektem ObservableCollection<T>Place . Place obiekty mają właściwości Name i State. Definicja i PlacePlaces 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 StatePlacePortland i OR odpowiednio, tło odpowiadające ListBoxItem mu jest ustawione na Cyanwartość .

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

Dotyczy

Zobacz też