DependencyObject Classe

Définition

Représente un objet qui participe au système des 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 pour créer une classe abstraite. La classe inscrit ensuite une propriété jointe et comprend des membres de prise en charge 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 DependencyObject classe active les services du 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 une identification et des informations sur chaque propriété de dépendance, tandis que, DependencyObject en tant que classe de base, permet aux objets d’utiliser les propriétés de dépendance.

DependencyObject les services et les caractéristiques sont les suivants :

  • Prise en charge de l’hébergement des 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 la propriété jointe. 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 statique public en lecture seule dans votre classe. (Il existe également d’autres exigences relatives aux membres ; Notez que cela représente une implémentation spécifique de WPF pour les propriétés jointes. Pour plus d’informations, consultez vue d’ensemble des propriétés jointes.) Votre propriété jointe peut ensuite être définie sur toute classe qui dérive de DependencyObject .

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

  • Les métadonnées, la prise en charge de la valeur forcée, la notification de modification de propriété et les rappels de remplacement 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 , Freezable ou Visual . ( UIElement , une autre classe d’élément de base, a une hiérarchie de classe qui inclut Visual .)

Constructeurs

DependencyObject()

Initialise une nouvelle instance de la classe DependencyObject.

Propriétés

DependencyObjectType

Obtient le DependencyObjectType qui encapsule le type CLR de cette instance.

Dispatcher

Obtient le Dispatcher associé à DispatcherObject.

(Hérité de DispatcherObject)
IsSealed

Récupère une valeur qui indique si cette instance est actuellement sealed (en lecture seule).

Méthodes

CheckAccess()

Détermine si le thread appelant a accès à ce DispatcherObject.

(Hérité de DispatcherObject)
ClearValue(DependencyProperty)

Efface la valeur locale d’une propriété. La propriété à effacer est spécifiée par un identificateur DependencyProperty.

ClearValue(DependencyPropertyKey)

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

CoerceValue(DependencyProperty)

Convertit la valeur de la propriété de dépendance spécifiée. Pour cela, on appelle toute fonction CoerceValueCallback spécifiée dans les métadonnées de propriété pour la propriété de dépendance telle qu’elle existe sur le DependencyObject appelant.

Equals(Object)

Détermine si un DependencyObject fourni est équivalent au DependencyObject réel.

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

Réévalue la valeur effective de la propriété de dépendance spécifiée.

MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Méthode appelée chaque fois que la valeur effective d’une propriété de dépendance sur ce 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, si elle existe.

SetCurrentValue(DependencyProperty, Object)

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

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

Garantit que le thread appelant a accès à DispatcherObject.

(Hérité de DispatcherObject)

S’applique à

Voir aussi