MultiDataTrigger Osztály
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
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. |