MultiDataTrigger Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Représente un déclencheur qui applique des valeurs de propriété ou effectue des actions lorsque les données liées remplissent un ensemble de conditions.
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
- Héritage
- Attributs
- Implémente
Exemples
Dans l’exemple suivant, la ItemsSource propriété de l’objet ListBox est liée à Places, d’objets ObservableCollection<T>Place .
Place les objets ont des propriétés Name et State. La définition et PlacePlaces ne sont pas affichées.
Chacun ListBoxItem des affichages d’un ListBoxPlace objet. L’exemple Style est appliqué à chaque ListBoxItem. Les Condition éléments de la MultiDataTrigger spécification indiquent que si l’élément Name de Place données et State l’élément de données sont Portland et OR respectivement, l’arrière-plan correspondant ListBoxItem est défini Cyansur .
<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>
Remarques
Un MultiDataTrigger objet est similaire à un MultiTrigger, sauf que les conditions d’un MultiDataTrigger sont basées sur des valeurs de propriété de données liées au lieu de celles d’un UIElement. Dans un MultiDataTrigger, une condition est remplie lorsque la valeur de propriété de l’élément de données correspond à celle spécifiée Value. Vous pouvez ensuite utiliser des setters ou des EnterActionsExitActions propriétés pour appliquer des modifications ou démarrer des actions lorsque toutes les conditions sont remplies.
La Setters propriété d’un MultiDataTrigger objet ne peut se composer que d’objets Setter . L’ajout d’un Setter enfant à un MultiDataTrigger objet l’ajoute implicitement à l’objet SetterBaseCollectionMultiDataTrigger . EventSetter les objets ne sont pas pris en charge ; prend uniquement Style.Setters en charge les EventSetter objets.
Pour plus d’informations sur le moment où utiliser des déclencheurs et quand utiliser d’autres techniques, consultez Vue d’ensemble de la création de modèles de données.
Constructeurs
| Nom | Description |
|---|---|
| MultiDataTrigger() |
Initialise une nouvelle instance de la classe MultiDataTrigger. |
Propriétés
| Nom | Description |
|---|---|
| Conditions |
Obtient une collection d’objets Condition . Les modifications apportées aux valeurs de propriété sont appliquées lorsque toutes les conditions de la collection sont remplies. |
| DependencyObjectType |
Obtient le DependencyObjectType type CLR de cette instance. (Hérité de DependencyObject) |
| Dispatcher |
Obtient ce Dispatcher qui DispatcherObject est associé. (Hérité de DispatcherObject) |
| EnterActions |
Obtient une collection d’objets TriggerAction à appliquer lorsque l’objet déclencheur devient actif. Cette propriété ne s’applique pas à la EventTrigger classe. (Hérité de TriggerBase) |
| ExitActions |
Obtient une collection d’objets TriggerAction à appliquer lorsque l’objet déclencheur devient inactif. Cette propriété ne s’applique pas à la EventTrigger classe. (Hérité de TriggerBase) |
| IsSealed |
Obtient une valeur qui indique si cette instance est actuellement scellée (en lecture seule). (Hérité de DependencyObject) |
| Setters |
Obtient une collection d’objets qui décrivent les valeurs de Setter propriété à appliquer lorsque toutes les conditions de la propriété MultiDataTrigger sont remplies. |
Méthodes
| Nom | Description |
|---|---|
| CheckAccess() |
Détermine si le thread appelant a accès à ce DispatcherObjectfichier . (Hérité de DispatcherObject) |
| ClearValue(DependencyProperty) |
Efface la valeur locale d’une propriété. La propriété à effacer est spécifiée par un DependencyProperty identificateur. (Hérité de DependencyObject) |
| ClearValue(DependencyPropertyKey) |
Efface la valeur locale d’une propriété en lecture seule. La propriété à effacer est spécifiée par un DependencyPropertyKey. (Hérité de DependencyObject) |
| CoerceValue(DependencyProperty) |
Force la valeur de la propriété de dépendance spécifiée. Pour ce faire, appelez n’importe quelle CoerceValueCallback fonction spécifiée dans les métadonnées de propriété pour la propriété de dépendance telle qu’elle existe sur l’appel DependencyObject. (Hérité de DependencyObject) |
| Equals(Object) |
Détermine si un élément fourni DependencyObject est équivalent à l’actuel DependencyObject. (Hérité de DependencyObject) |
| GetHashCode() |
Obtient un code de hachage pour ce DependencyObject. (Hérité de DependencyObject) |
| GetLocalValueEnumerator() |
Crée un énumérateur spécialisé pour déterminer quelles propriétés de dépendance ont des valeurs définies localement sur ce DependencyObject. (Hérité de DependencyObject) |
| GetType() |
Obtient la Type de l’instance actuelle. (Hérité de Object) |
| GetValue(DependencyProperty) |
Retourne la valeur effective actuelle d’une propriété de dépendance sur cette instance d’un DependencyObject. (Hérité de DependencyObject) |
| InvalidateProperty(DependencyProperty) |
Évalue à nouveau la valeur effective de la propriété de dépendance spécifiée. (Hérité de DependencyObject) |
| MemberwiseClone() |
Crée une copie superficielle du Objectactuel. (Hérité de Object) |
| OnPropertyChanged(DependencyPropertyChangedEventArgs) |
Appelé chaque fois que la valeur effective d’une propriété de dépendance sur celle-ci DependencyObject a été mise à jour. La propriété de dépendance spécifique qui a changé est signalée dans les données d’événement. (Hérité de DependencyObject) |
| ReadLocalValue(DependencyProperty) |
Retourne la valeur locale d’une propriété de dépendance, le cas échéant. (Hérité de DependencyObject) |
| SetCurrentValue(DependencyProperty, Object) |
Définit la valeur d’une propriété de dépendance sans modifier sa source de valeur. (Hérité de DependencyObject) |
| SetValue(DependencyProperty, Object) |
Définit la valeur locale d’une propriété de dépendance, spécifiée par son identificateur de propriété de dépendance. (Hérité de DependencyObject) |
| SetValue(DependencyPropertyKey, Object) |
Définit la valeur locale d’une propriété de dépendance en lecture seule, spécifiée par l’identificateur DependencyPropertyKey de la propriété de dépendance. (Hérité de DependencyObject) |
| ShouldSerializeProperty(DependencyProperty) |
Retourne une valeur qui indique si les processus de sérialisation doivent sérialiser la valeur de la propriété de dépendance fournie. (Hérité de DependencyObject) |
| ToString() |
Retourne une chaîne qui représente l’objet actuel. (Hérité de Object) |
| VerifyAccess() |
Applique que le thread appelant a accès à ce DispatcherObjectfichier . (Hérité de DispatcherObject) |
Implémentations d’interfaces explicites
| Nom | Description |
|---|---|
| IAddChild.AddChild(Object) |
Ajoute un objet enfant. |
| IAddChild.AddText(String) |
Ajoute le contenu texte d’un nœud à l’objet. |