Sdílet prostřednictvím


MultiDataTrigger Třída

Definice

Představuje trigger, který použije hodnoty vlastností nebo provádí akce, když svázaná data splňují sadu podmínek.

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
Dědičnost
Atributy
Implementuje

Příklady

V následujícím příkladu ItemsSource je vlastnost ListBox vázána na Placesobjekty ObservableCollection<T> Place . Place objekty mají vlastnosti Name a State. Definice Place a Places nezobrazuje se.

Každý ListBoxItem z nich ListBox zobrazí Place objekt. V Style příkladu se použije u každého z nich ListBoxItem. Prvky Condition specifikaMultiDataTrigger, že pokud Name jsou Portland položky a State Place položky dat a OR v uvedeném pořadí, je pozadí odpovídajících ListBoxItem položek nastaveno na Cyan.

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

Poznámky

Objekt MultiDataTrigger se podobá objektu MultiTrigger, s výjimkou toho, že podmínky a MultiDataTrigger jsou založeny na hodnotách vlastností svázaných dat namísto UIElementhodnot vázaných dat . MultiDataTriggerPodmínka je splněna, pokud hodnota vlastnosti datové položky odpovídá zadané Value. Po splnění všech podmínek pak můžete použít settery nebo EnterActions vlastnosti a ExitActions použít změny nebo spustit akce.

Vlastnost Setters objektu MultiDataTrigger se může skládat pouze z Setter objektů. Přidání podřízeného Setter objektu do objektu MultiDataTrigger implicitně přidá do SetterBaseCollection objektu MultiDataTrigger . EventSetterobjekty nejsou podporovány; podporuje EventSetter pouze Style.Setters objekty.

Informace o tom, kdy používat triggery a kdy používat jiné techniky, najdete v tématu Přehled šablon dat.

Konstruktory

MultiDataTrigger()

Inicializuje novou instanci MultiDataTrigger třídy.

Vlastnosti

Conditions

Získá kolekci Condition objektů. Změny hodnot vlastností se použijí při splnění všech podmínek v kolekci.

DependencyObjectType

DependencyObjectType Získá ten, který zabalí typ CLR této instance.

(Zděděno od DependencyObject)
Dispatcher

Získá to DispatcherObject je přidruženoDispatcher.

(Zděděno od DispatcherObject)
EnterActions

Získá kolekci TriggerAction objektů, které se použijí při aktivaci objektu triggeru. Tato vlastnost se nevztahuje na EventTrigger třídu.

(Zděděno od TriggerBase)
ExitActions

Získá kolekci TriggerAction objektů, které se použijí, když se objekt triggeru stane neaktivním. Tato vlastnost se nevztahuje na EventTrigger třídu.

(Zděděno od TriggerBase)
IsSealed

Získá hodnotu, která označuje, zda je tato instance aktuálně zapečetěna (jen pro čtení).

(Zděděno od DependencyObject)
Setters

Získá kolekci Setter objektů, které popisují hodnoty vlastností, které se mají použít, když jsou splněny všechny podmínky MultiDataTrigger .

Metody

CheckAccess()

Určuje, zda má volající vlákno přístup k tomuto DispatcherObject.

(Zděděno od DispatcherObject)
ClearValue(DependencyProperty)

Vymaže místní hodnotu vlastnosti. Vlastnost, která se má vymazat, je určena identifikátorem DependencyProperty .

(Zděděno od DependencyObject)
ClearValue(DependencyPropertyKey)

Vymaže místní hodnotu vlastnosti jen pro čtení. Vlastnost, která se má vymazat, je určena parametrem DependencyPropertyKey.

(Zděděno od DependencyObject)
CoerceValue(DependencyProperty)

Převede hodnotu zadané vlastnosti závislosti. To se provádí vyvoláním jakékoli CoerceValueCallback funkce zadané v metadatech vlastností pro vlastnost závislosti, protože existuje ve volání DependencyObject.

(Zděděno od DependencyObject)
Equals(Object)

Určuje, zda je poskytnutá DependencyObject hodnota ekvivalentní aktuálnímu DependencyObject.

(Zděděno od DependencyObject)
GetHashCode()

Získá hash kód pro tento DependencyObject.

(Zděděno od DependencyObject)
GetLocalValueEnumerator()

Vytvoří specializovaný enumerátor pro určení, které vlastnosti závislostí mají místně nastavené hodnoty na tomto DependencyObject.

(Zděděno od DependencyObject)
GetType()

Type Získá aktuální instanci.

(Zděděno od Object)
GetValue(DependencyProperty)

Vrátí aktuální efektivní hodnotu vlastnosti závislosti na této instanci objektu DependencyObject.

(Zděděno od DependencyObject)
InvalidateProperty(DependencyProperty)

Znovu vyhodnotí efektivní hodnotu pro zadanou vlastnost závislosti.

(Zděděno od DependencyObject)
MemberwiseClone()

Vytvoří použádnou kopii aktuálního souboru Object.

(Zděděno od Object)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Vyvolá se při každé aktualizaci efektivní hodnoty jakékoli vlastnosti závislosti na této DependencyObject vlastnosti. Specifická vlastnost závislostí, která se změnila, je hlášena v datech události.

(Zděděno od DependencyObject)
ReadLocalValue(DependencyProperty)

Vrátí místní hodnotu vlastnosti závislosti, pokud existuje.

(Zděděno od DependencyObject)
SetCurrentValue(DependencyProperty, Object)

Nastaví hodnotu vlastnosti závislosti beze změny zdroje hodnot.

(Zděděno od DependencyObject)
SetValue(DependencyProperty, Object)

Nastaví místní hodnotu vlastnosti závislosti určenou jeho identifikátorem vlastnosti závislosti.

(Zděděno od DependencyObject)
SetValue(DependencyPropertyKey, Object)

Nastaví místní hodnotu vlastnosti závislosti jen pro čtení určenou DependencyPropertyKey identifikátorem vlastnosti závislosti.

(Zděděno od DependencyObject)
ShouldSerializeProperty(DependencyProperty)

Vrátí hodnotu, která označuje, zda serializační procesy mají serializovat hodnotu pro zadanou vlastnost závislostí.

(Zděděno od DependencyObject)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)
VerifyAccess()

Vynucuje, aby volající vlákno má k tomuto DispatcherObjectpřístupu přístup .

(Zděděno od DispatcherObject)

Explicitní implementace rozhraní

IAddChild.AddChild(Object)

Přidá podřízený objekt.

IAddChild.AddText(String)

Přidá do objektu textový obsah uzlu.

Platí pro

Viz také