DependencyObject Classe

Définition

Représente un objet qui participe au système de propriétés de dépendance.

public ref class DependencyObject : System::Windows::Threading::DispatcherObject
public class DependencyObject : System.Windows.Threading.DispatcherObject
[System.Windows.Markup.NameScopeProperty("NameScope", typeof(System.Windows.NameScope))]
public class DependencyObject : System.Windows.Threading.DispatcherObject
type DependencyObject = class
    inherit DispatcherObject
[<System.Windows.Markup.NameScopeProperty("NameScope", typeof(System.Windows.NameScope))>]
type DependencyObject = class
    inherit DispatcherObject
Public Class DependencyObject
Inherits DispatcherObject
Héritage
DependencyObject
Dérivé
Attributs

Exemples

L’exemple suivant dérive de DependencyObject la création d’une classe abstraite. La classe inscrit ensuite une propriété jointe et inclut des membres de support pour cette propriété jointe.

public abstract class AquariumObject3 : DependencyObject
{
    public enum Bouyancy
    {
        Floats,
        Sinks,
        Drifts
    }
    public static readonly DependencyProperty BouyancyProperty = DependencyProperty.RegisterAttached(
      "Bouyancy",
      typeof(Bouyancy),
      typeof(AquariumObject3),
      new FrameworkPropertyMetadata(Bouyancy.Floats, FrameworkPropertyMetadataOptions.AffectsArrange),
      new ValidateValueCallback(ValidateBouyancy)
    );
    public static void SetBouyancy(UIElement element, Bouyancy value)
    {
        element.SetValue(BouyancyProperty, value);
    }
    public static Bouyancy GetBouyancy(UIElement element)
    {
        return (Bouyancy)element.GetValue(BouyancyProperty);
    }
    private static bool ValidateBouyancy(object value)
    {
        Bouyancy bTest = (Bouyancy) value;
        return (bTest == Bouyancy.Floats || bTest == Bouyancy.Drifts || bTest==Bouyancy.Sinks);
    }
    public static readonly DependencyProperty IsDirtyProperty = DependencyProperty.Register(
      "IsDirty",
      typeof(Boolean),
      typeof(AquariumObject3)
    );
}
Public MustInherit Class AquariumObject3
    Inherits DependencyObject
    Public Enum Bouyancy
        Floats
        Sinks
        Drifts
    End Enum
    Public Shared ReadOnly BouyancyProperty As DependencyProperty = DependencyProperty.RegisterAttached("Bouyancy", GetType(Bouyancy), GetType(AquariumObject3), New FrameworkPropertyMetadata(Bouyancy.Floats, FrameworkPropertyMetadataOptions.AffectsArrange), New ValidateValueCallback(AddressOf ValidateBouyancy))
    Public Shared Sub SetBouyancy(ByVal element As UIElement, ByVal value As Bouyancy)
        element.SetValue(BouyancyProperty, value)
    End Sub
    Public Shared Function GetBouyancy(ByVal element As UIElement) As Bouyancy
        Return CType(element.GetValue(BouyancyProperty), Bouyancy)
    End Function
    Private Shared Function ValidateBouyancy(ByVal value As Object) As Boolean
        Dim bTest As Bouyancy = CType(value, Bouyancy)
        Return (bTest = Bouyancy.Floats OrElse bTest = Bouyancy.Drifts OrElse bTest = Bouyancy.Sinks)
    End Function
    Public Shared ReadOnly IsDirtyProperty As DependencyProperty = DependencyProperty.Register("IsDirty", GetType(Boolean), GetType(AquariumObject3))
End Class

Remarques

La classe DependencyObject active les services de système de propriétés Windows Presentation Foundation (WPF) sur ses nombreuses classes dérivées.

La fonction principale du système de propriétés consiste à calculer les valeurs des propriétés et à fournir une notification système sur les valeurs qui ont changé. Une autre classe clé qui participe au système de propriétés est DependencyProperty. DependencyProperty active l’inscription des propriétés de dépendance dans le système de propriétés et fournit des informations d’identification et d’informations sur chaque propriété de dépendance, tandis qu’une DependencyObject classe de base permet aux objets d’utiliser les propriétés de dépendance.

DependencyObject les services et caractéristiques sont les suivants :

  • Prise en charge de l’hébergement de propriétés de dépendance. Vous inscrivez une propriété de dépendance en appelant la Register méthode et en stockant la valeur de retour de la méthode en tant que champ statique public dans votre classe.

  • Prise en charge de l’hébergement de propriétés jointes. Vous inscrivez une propriété jointe en appelant la RegisterAttached méthode et en stockant la valeur de retour de la méthode en tant que champ en lecture seule statique public dans votre classe. (Il existe également des exigences de membre supplémentaires ; notez que cela représente une implémentation spécifique WPF pour les propriétés jointes. Pour plus d’informations, consultez Vue d’ensemble des propriétés liées.) Votre propriété jointe peut ensuite être définie sur n’importe quelle classe qui dérive de DependencyObject.

  • Obtenir, définir et effacer les méthodes utilitaires pour les valeurs de toutes les propriétés de dépendance qui existent sur le DependencyObject.

  • Métadonnées, prise en charge des valeurs de force, notification modifiée par les propriétés et remplacement des rappels pour les propriétés de dépendance ou les propriétés jointes. En outre, la DependencyObject classe facilite les métadonnées de propriété par propriétaire pour une propriété de dépendance.

  • Classe de base commune pour les classes dérivées de ContentElement, Freezableou Visual. (UIElementune autre classe d’élément de base a une hiérarchie de classes qui inclut Visual.)

Constructeurs

Nom Description
DependencyObject()

Initialise une nouvelle instance de la classe DependencyObject.

Propriétés

Nom Description
DependencyObjectType

Obtient le DependencyObjectType type CLR de cette instance.

Dispatcher

Obtient ce Dispatcher qui DispatcherObject est associé.

(Hérité de DispatcherObject)
IsSealed

Obtient une valeur qui indique si cette instance est actuellement scellée (en lecture seule).

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.

ClearValue(DependencyPropertyKey)

Efface la valeur locale d’une propriété en lecture seule. La propriété à effacer est spécifiée par un DependencyPropertyKey.

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.

Equals(Object)

Détermine si un élément fourni DependencyObject est équivalent à l’actuel DependencyObject.

GetHashCode()

Obtient un code de hachage pour ce 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.

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.

InvalidateProperty(DependencyProperty)

Évalue à nouveau la valeur effective de la propriété de dépendance spécifiée.

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.

ReadLocalValue(DependencyProperty)

Retourne la valeur locale d’une propriété de dépendance, le cas échéant.

SetCurrentValue(DependencyProperty, Object)

Définit la valeur d’une propriété de dépendance sans modifier sa source de valeur.

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.

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.

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.

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)

S’applique à

Voir aussi