MultiDataTrigger Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Vertegenwoordigt een trigger die eigenschapswaarden toepast of acties uitvoert wanneer de afhankelijke gegevens aan een set voorwaarden voldoen.
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
- Overname
- Kenmerken
- Implementeringen
Voorbeelden
In het volgende voorbeeld is de ItemsSource eigenschap van de eigenschap van de ListBox eigenschap gebonden aan Places, een ObservableCollection<T> van Place objecten.
Place objecten hebben eigenschappen Name en State. De definitie van Place en Places worden niet weergegeven.
Elk ListBoxItem van de ListBox objecten wordt weergegeven Place . Het Style in het voorbeeld wordt toegepast op elke ListBoxItem. De Condition elementen van de MultiDataTrigger opgeven dat als het Name en State van het Place gegevensitem respectievelijk Portland en OR respectievelijk, de achtergrond van de corresponderende ListBoxItem is ingesteld op 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>
Opmerkingen
Een MultiDataTrigger object is vergelijkbaar met een MultiTrigger, behalve dat de voorwaarden van een MultiDataTrigger zijn gebaseerd op eigenschapswaarden van afhankelijke gegevens in plaats van die van een UIElement. In a MultiDataTriggerwordt aan een voorwaarde voldaan wanneer de eigenschapswaarde van het gegevensitem overeenkomt met het opgegeven Value. Vervolgens kunt u setters of de EnterActions eigenschappen ExitActions gebruiken om wijzigingen of startacties toe te passen wanneer aan alle voorwaarden wordt voldaan.
De Setters eigenschap van een MultiDataTrigger object kan alleen bestaan uit Setter objecten. Als u een Setter onderliggend element aan een MultiDataTrigger object toevoegt, wordt dit impliciet toegevoegd aan het SetterBaseCollectionMultiDataTrigger object. EventSetterobjecten worden niet ondersteund; Style.Setters ondersteunt alleen EventSetter objecten.
Zie Overzicht van gegevens templating voor informatie over het gebruik van triggers en wanneer u andere technieken gebruikt.
Constructors
| Name | Description |
|---|---|
| MultiDataTrigger() |
Initialiseert een nieuw exemplaar van de MultiDataTrigger klasse. |
Eigenschappen
| Name | Description |
|---|---|
| Conditions |
Hiermee haalt u een verzameling Condition objecten op. Wijzigingen in eigenschapswaarden worden toegepast wanneer aan alle voorwaarden in de verzameling wordt voldaan. |
| DependencyObjectType |
Hiermee haalt u het DependencyObjectType CLR-type van dit exemplaar op. (Overgenomen van DependencyObject) |
| Dispatcher |
Hiermee wordt de Dispatcher aan dit DispatcherObject gekoppelde bestand. (Overgenomen van DispatcherObject) |
| EnterActions |
Hiermee haalt u een verzameling TriggerAction objecten op die moeten worden toegepast wanneer het triggerobject actief wordt. Deze eigenschap is niet van toepassing op de EventTrigger klasse. (Overgenomen van TriggerBase) |
| ExitActions |
Hiermee haalt u een verzameling TriggerAction objecten op die moeten worden toegepast wanneer het triggerobject inactief wordt. Deze eigenschap is niet van toepassing op de EventTrigger klasse. (Overgenomen van TriggerBase) |
| IsSealed |
Hiermee wordt een waarde opgehaald die aangeeft of dit exemplaar momenteel is verzegeld (alleen-lezen). (Overgenomen van DependencyObject) |
| Setters |
Hiermee haalt u een verzameling Setter objecten op die de eigenschapswaarden beschrijven die moeten worden toegepast wanneer aan alle voorwaarden van de objecten MultiDataTrigger wordt voldaan. |
Methoden
| Name | Description |
|---|---|
| CheckAccess() |
Bepaalt of de aanroepende thread toegang heeft tot dit DispatcherObject. (Overgenomen van DispatcherObject) |
| ClearValue(DependencyProperty) |
Hiermee wist u de lokale waarde van een eigenschap. De eigenschap die moet worden gewist, wordt opgegeven door een DependencyProperty id. (Overgenomen van DependencyObject) |
| ClearValue(DependencyPropertyKey) |
Hiermee wist u de lokale waarde van een alleen-lezen eigenschap. De eigenschap die moet worden gewist, wordt opgegeven door een DependencyPropertyKey. (Overgenomen van DependencyObject) |
| CoerceValue(DependencyProperty) |
Hiermee wordt de waarde van de opgegeven afhankelijkheidseigenschap gecodeerd. Dit wordt bereikt door een CoerceValueCallback functie aan te roepen die is opgegeven in eigenschapsmetagegevens voor de afhankelijkheidseigenschap, zoals deze bestaat bij het aanroepen DependencyObject. (Overgenomen van DependencyObject) |
| Equals(Object) |
Bepaalt of een opgegeven DependencyObject gelijk is aan de huidige DependencyObject. (Overgenomen van DependencyObject) |
| GetHashCode() |
Hiermee haalt u een hashcode op.DependencyObject (Overgenomen van DependencyObject) |
| GetLocalValueEnumerator() |
Hiermee maakt u een gespecialiseerde enumerator om te bepalen welke afhankelijkheidseigenschappen lokaal waarden hebben ingesteld.DependencyObject (Overgenomen van DependencyObject) |
| GetType() |
Hiermee haalt u de Type huidige instantie op. (Overgenomen van Object) |
| GetValue(DependencyProperty) |
Retourneert de huidige effectieve waarde van een afhankelijkheidseigenschap op dit exemplaar van een DependencyObject. (Overgenomen van DependencyObject) |
| InvalidateProperty(DependencyProperty) |
Evalueert de effectieve waarde voor de opgegeven afhankelijkheidseigenschap opnieuw. (Overgenomen van DependencyObject) |
| MemberwiseClone() |
Hiermee maakt u een ondiepe kopie van de huidige Object. (Overgenomen van Object) |
| OnPropertyChanged(DependencyPropertyChangedEventArgs) |
Aangeroepen wanneer de effectieve waarde van een afhankelijkheidseigenschap op deze DependencyObject eigenschap is bijgewerkt. De specifieke afhankelijkheidseigenschap die is gewijzigd, wordt gerapporteerd in de gebeurtenisgegevens. (Overgenomen van DependencyObject) |
| ReadLocalValue(DependencyProperty) |
Retourneert de lokale waarde van een afhankelijkheidseigenschap, als deze bestaat. (Overgenomen van DependencyObject) |
| SetCurrentValue(DependencyProperty, Object) |
Hiermee stelt u de waarde van een afhankelijkheidseigenschap in zonder de waardebron te wijzigen. (Overgenomen van DependencyObject) |
| SetValue(DependencyProperty, Object) |
Hiermee stelt u de lokale waarde van een afhankelijkheidseigenschap in, die is opgegeven door de id van de afhankelijkheidseigenschap. (Overgenomen van DependencyObject) |
| SetValue(DependencyPropertyKey, Object) |
Hiermee stelt u de lokale waarde van een alleen-lezen afhankelijkheidseigenschap in, die is opgegeven door de DependencyPropertyKey id van de afhankelijkheidseigenschap. (Overgenomen van DependencyObject) |
| ShouldSerializeProperty(DependencyProperty) |
Retourneert een waarde die aangeeft of serialisatieprocessen de waarde voor de opgegeven afhankelijkheidseigenschap moeten serialiseren. (Overgenomen van DependencyObject) |
| ToString() |
Retourneert een tekenreeks die het huidige object vertegenwoordigt. (Overgenomen van Object) |
| VerifyAccess() |
Hiermee wordt afgedwongen dat de aanroepende thread toegang heeft tot dit DispatcherObject. (Overgenomen van DispatcherObject) |
Expliciete interface-implementaties
| Name | Description |
|---|---|
| IAddChild.AddChild(Object) |
Hiermee voegt u een onderliggend object toe. |
| IAddChild.AddText(String) |
Hiermee voegt u de tekstinhoud van een knooppunt toe aan het object. |