Nyelv

MultiDataTrigger Osztály

Definíció

Olyan eseményindítót jelöl, amely tulajdonságértékeket alkalmaz, vagy műveleteket hajt végre, ha a kötött adatok megfelelnek a feltételeknek.

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
Öröklődés
Attribútumok
Megvalósítás

Példák

Az alábbi példában a ItemsSource tulajdonság az objektumokhoz ListBoxPlaces van kötveObservableCollection<T>Place. Place az objektumok rendelkeznek tulajdonságokkal Name és State. A definíció, Place és Places nem jelenik meg.

Mindegyik ListBoxItem megjelenít egy objektumotListBox.Place A Style példában szereplő értékek mindegyikre ListBoxItemérvényesek. A Condition beállítás elemei MultiDataTrigger azt határozzák meg, hogy ha az Name adatelem és StatePlace az Portland adatelem isOR, akkor a megfelelő ListBoxItem háttér a következőre Cyanvan állítva: .

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

Megjegyzések

Az MultiDataTrigger objektumok hasonlóak egy MultiTriggerobjektumhoz, azzal a kivételrel, hogy a feltételek MultiDataTrigger a kötött adatok tulajdonságértékén alapulnak ahelyett, hogy egy UIElement. MultiDataTriggerEgy feltétel akkor teljesül, ha az adatelem tulajdonságértéke megegyezik a megadott Valueértékkel. Ezután a beállításokkal vagy a EnterActionsExitActions tulajdonságok használatával módosításokat alkalmazhat, vagy műveleteket indíthat el, ha az összes feltétel teljesül.

Egy Setters objektum tulajdonsága MultiDataTrigger csak objektumokból állhat Setter . Setter Gyermek hozzáadása egy MultiDataTrigger objektumhoz implicit módon hozzáadja azt az SetterBaseCollectionMultiDataTrigger objektumhoz. EventSetter az objektumok nem támogatottak; csak Style.Setters az objektumokat támogatja EventSetter .

Az eseményindítók használatáról és más technikák használatáról a Data Templating áttekintésében olvashat.

Konstruktorok

Név Description
MultiDataTrigger()

Inicializálja a MultiDataTrigger osztály új példányát.

Tulajdonságok

Név Description
Conditions

Lekéri az objektumok gyűjteményét Condition . A rendszer akkor alkalmazza a tulajdonságértékek módosításait, ha a gyűjtemény összes feltétele teljesül.

DependencyObjectType

Lekéri a DependencyObjectType példány CLR-típusát körbefuttatót.

(Öröklődés forrása DependencyObject)
Dispatcher

Lekérdezi, Dispatcher hogy ez a társítva van-e DispatcherObject .

(Öröklődés forrása DispatcherObject)
EnterActions

Lekéri azokat az TriggerAction objektumgyűjteményeket, amelyeket az eseményindító objektum aktívvá válásakor alkalmazni kell. Ez a tulajdonság nem vonatkozik az EventTrigger osztályra.

(Öröklődés forrása TriggerBase)
ExitActions

Lekéri azokat az TriggerAction objektumgyűjteményeket, amelyeket akkor kell alkalmazni, amikor az eseményindító objektum inaktívvá válik. Ez a tulajdonság nem vonatkozik az EventTrigger osztályra.

(Öröklődés forrása TriggerBase)
IsSealed

Olyan értéket kap, amely jelzi, hogy a példány jelenleg zárolva van-e (írásvédett).

(Öröklődés forrása DependencyObject)
Setters

Olyan objektumgyűjteményt Setter kap, amely leírja azokat a tulajdonságértékeket, amelyeket akkor kell alkalmazni, amikor az MultiDataTrigger összes feltétel teljesül.

Metódusok

Név Description
CheckAccess()

Meghatározza, hogy a hívó szál hozzáfér-e ehhez DispatcherObject.

(Öröklődés forrása DispatcherObject)
ClearValue(DependencyProperty)

Törli egy tulajdonság helyi értékét. A törölni kívánt tulajdonságot egy DependencyProperty azonosító határozza meg.

(Öröklődés forrása DependencyObject)
ClearValue(DependencyPropertyKey)

Törli egy írásvédett tulajdonság helyi értékét. A törölni kívánt tulajdonságot egy DependencyPropertyKey.

(Öröklődés forrása DependencyObject)
CoerceValue(DependencyProperty)

A megadott függőségi tulajdonság értékét kényszeríti. Ez úgy érhető el, hogy meghívja a függőségi tulajdonság tulajdonság metaadataiban megadott függvényeket CoerceValueCallback a hívás DependencyObjectsorán.

(Öröklődés forrása DependencyObject)
Equals(Object)

Meghatározza, hogy a megadott DependencyObject érték megegyezik-e az aktuális DependencyObjectértékével.

(Öröklődés forrása DependencyObject)
GetHashCode()

Ehhez lekéri a DependencyObjectkivonatkódot.

(Öröklődés forrása DependencyObject)
GetLocalValueEnumerator()

Létrehoz egy speciális enumerátort annak meghatározásához, hogy mely függőségi tulajdonságok rendelkeznek helyileg beállított értékekkel.DependencyObject

(Öröklődés forrása DependencyObject)
GetType()

Lekéri az Type aktuális példányt.

(Öröklődés forrása Object)
GetValue(DependencyProperty)

Egy függőségi tulajdonság aktuális tényleges értékét adja vissza az adott példányon DependencyObject.

(Öröklődés forrása DependencyObject)
InvalidateProperty(DependencyProperty)

Újra kiértékeli a megadott függőségi tulajdonság tényleges értékét.

(Öröklődés forrása DependencyObject)
MemberwiseClone()

Az aktuális Objectpéldány sekély másolatát hozza létre.

(Öröklődés forrása Object)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Akkor hívjuk meg, ha az adott DependencyObject függőségi tulajdonság tényleges értéke frissült. A módosított függőségi tulajdonságot az eseményadatok jelentik.

(Öröklődés forrása DependencyObject)
ReadLocalValue(DependencyProperty)

Egy függőségi tulajdonság helyi értékét adja vissza, ha létezik.

(Öröklődés forrása DependencyObject)
SetCurrentValue(DependencyProperty, Object)

Beállítja egy függőségi tulajdonság értékét az értékforrás módosítása nélkül.

(Öröklődés forrása DependencyObject)
SetValue(DependencyProperty, Object)

Beállítja egy függőségi tulajdonság helyi értékét, amelyet a függőségi tulajdonság azonosítója határoz meg.

(Öröklődés forrása DependencyObject)
SetValue(DependencyPropertyKey, Object)

Beállítja egy írásvédett függőség tulajdonság helyi értékét, amelyet a DependencyPropertyKey függőségi tulajdonság azonosítója határoz meg.

(Öröklődés forrása DependencyObject)
ShouldSerializeProperty(DependencyProperty)

Olyan értéket ad vissza, amely jelzi, hogy a szerializálási folyamatok szerializálják-e a megadott függőségi tulajdonság értékét.

(Öröklődés forrása DependencyObject)
ToString()

Az aktuális objektumot jelképező sztringet ad vissza.

(Öröklődés forrása Object)
VerifyAccess()

Kényszeríti, hogy a hívószál hozzáférhessen ehhez.DispatcherObject

(Öröklődés forrása DispatcherObject)

Explicit interfész-implementációk

Név Description
IAddChild.AddChild(Object)

Gyermekobjektumot ad hozzá.

IAddChild.AddText(String)

Hozzáadja egy csomópont szöveges tartalmát az objektumhoz.

A következőre érvényes:

Lásd még