Sdílet prostřednictvím


MultiDataTrigger Třída

Definice

Představuje trigger, který použije hodnoty vlastností nebo provede 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 není zobrazena.

Každý ListBoxItem z nich ListBox zobrazí Place objekt. V Style příkladu se použije na každý z nich ListBoxItem. Prvky ConditionMultiDataTrigger neurčí, že pokud Name jsou Portland a State z Place datové položky a OR v uvedeném pořadí, pak pozadí odpovídající ListBoxItem je 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 s tím rozdílem MultiTrigger, že podmínky a MultiDataTrigger jsou založeny na hodnotách vlastností vázaných dat, nikoli UIElementna základě podmínek . V parametru MultiDataTriggerje splněna podmínka, pokud hodnota vlastnosti datové položky odpovídá zadanému Value. K použití změn nebo spuštění akcí při splnění všech podmínek pak můžete použítttery nebo EnterActions vlastnosti a ExitActions vlastnosti.

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

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

Konstruktory

Name Description
MultiDataTrigger()

Inicializuje novou instanci MultiDataTrigger třídy.

Vlastnosti

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

Dispatcher Získá toto DispatcherObject je přidružené.

(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í. 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 vlastnosti, které se mají použít, když jsou splněny všechny podmínky MultiDataTrigger .

Metody

Name Description
CheckAccess()

Určuje, zda volající vlákno má 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á má být vymazána, je určena parametrem DependencyPropertyKey.

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

Převede hodnotu zadané vlastnosti závislosti. Toho se dosahuje 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ávislosti mají místně nastavené hodnoty na tomto DependencyObject.

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

Získá Type aktuální instance.

(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ří mělkou kopii aktuálního Object.

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

Vyvolána vždy, když byla aktualizována efektivní hodnota jakékoli vlastnosti závislosti na této DependencyObject vlastnosti. Konkrétní vlastnost závislosti, 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 jejího 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 identifikátorem DependencyPropertyKey vlastnosti závislosti.

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

Vrátí hodnotu, která určuje, zda procesy serializace mají serializovat hodnotu pro zadanou vlastnost závislosti.

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

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

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

Vynucuje, že volající vlákno má přístup k tomuto DispatcherObject.

(Zděděno od DispatcherObject)

Explicitní implementace rozhraní

Name Description
IAddChild.AddChild(Object)

Přidá podřízený objekt.

IAddChild.AddText(String)

Přidá do objektu textový obsah uzlu.

Platí pro

Viz také