DependencyObject Klasse

Definition

Stellt ein Objekt dar, das im Abhängigkeitseigenschaftensystem teilnimmt.Represents an object that participates in the dependency property system.

public ref 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
Public Class DependencyObject
Inherits DispatcherObject
Vererbung
DependencyObject
Abgeleitet
Attribute

Beispiele

Im folgenden Beispiel wird von DependencyObject abgeleitet, um eine neue abstrakte Klasse zu erstellen.The following example derives from DependencyObject to create a new abstract class. Die Klasse registriert dann eine angefügte Eigenschaft und enthält Unterstützungs Member für diese angefügte Eigenschaft.The class then registers an attached property and includes support members for that attached property.

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

Hinweise

Die DependencyObject-Klasse ermöglicht die Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF)-Eigenschaften Systemdienste für viele abgeleitete Klassen.The DependencyObject class enables Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) property system services on its many derived classes.

Die primäre Funktion des Eigenschaften Systems ist, die Werte von Eigenschaften zu berechnen und System Benachrichtigungen über geänderte Werte bereitzustellen.The property system's primary function is to compute the values of properties, and to provide system notification about values that have changed. Eine andere Schlüssel Klasse, die am Eigenschaften System teilnimmt, ist DependencyProperty.Another key class that participates in the property system is DependencyProperty. mit DependencyProperty können Abhängigkeits Eigenschaften im Eigenschaften System registriert werden, und es werden Identifizierungs-und Informations Informationen zu den einzelnen Abhängigkeits Eigenschaften bereitstellt, während DependencyObject als Basisklasse die Verwendung der Abhängigkeits Eigenschaften durch die Objekte ermöglicht.DependencyProperty enables the registration of dependency properties into the property system, and provides identification and information about each dependency property, whereas DependencyObject as a base class enables objects to use the dependency properties.

DependencyObject-Dienste und-Merkmale umfassen Folgendes:DependencyObject services and characteristics include the following:

  • Unterstützung für Abhängigkeits Eigenschaften Hosting.Dependency property hosting support. Sie registrieren eine Abhängigkeits Eigenschaft, indem Sie die Register-Methode aufrufen und den Rückgabewert der Methode als öffentliches statisches Feld in der Klasse speichern.You register a dependency property by calling the Register method, and storing the method's return value as a public static field in your class.

  • Unterstützung für angefügte Eigenschaften Hosting.Attached property hosting support. Sie registrieren eine angefügte Eigenschaft, indem Sie die RegisterAttached-Methode aufrufen und den Rückgabewert der Methode als öffentliches statisches Schreib geschütztes Feld in der Klasse speichern.You register an attached property by calling the RegisterAttached method, and storing the method's return value as a public static read-only field in your class. (Es gibt auch zusätzliche Member-Anforderungen. Beachten Sie, dass dies eine WPFWPF-spezifische Implementierung für angefügte Eigenschaften darstellt.(There are also additional member requirements; note that this represents a WPFWPF specific implementation for attached properties. Weitere Informationen finden Sie unter Übersicht über angefügte Eigenschaften.) Die angefügte Eigenschaft kann dann für jede Klasse festgelegt werden, die von DependencyObject abgeleitet ist.For details, see Attached Properties Overview.) Your attached property can then be set on any class that derives from DependencyObject.

  • Get, Set und Clear Utility-Methoden für Werte aller Abhängigkeits Eigenschaften, die auf dem DependencyObject vorhanden sind.Get, set, and clear utility methods for values of any dependency properties that exist on the DependencyObject.

  • Metadaten, coerce-Wert Unterstützung, Benachrichtigung über geänderte Eigenschaften und Überschreiben von Rückrufen für Abhängigkeits Eigenschaften oder angefügte Eigenschaften.Metadata, coerce value support, property changed notification, and override callbacks for dependency properties or attached properties. Außerdem ermöglicht die DependencyObject-Klasse die metadateneigenschaftenmetadaten für eine Abhängigkeits Eigenschaft.Also, the DependencyObject class facilitates the per-owner property metadata for a dependency property.

  • Eine allgemeine Basisklasse für Klassen, die von ContentElement, Freezable oder Visual abgeleitet werden.A common base class for classes derived from ContentElement, Freezable, or Visual. (UIElement, eine andere Basiselement Klasse, verfügt über eine Klassenhierarchie, die Visual enthält.)(UIElement, another base element class, has a class hierarchy that includes Visual.)

Konstruktoren

DependencyObject()

Initialisiert eine neue Instanz der DependencyObject-Klasse.Initializes a new instance of the DependencyObject class.

Eigenschaften

DependencyObjectType

Ruft den DependencyObjectType ab, der den CLRCLR-Typ dieser Instanz umschließt.Gets the DependencyObjectType that wraps the CLRCLR type of this instance.

Dispatcher

Ruft den Dispatcher ab, der diesem DispatcherObject zugeordnet ist.Gets the Dispatcher this DispatcherObject is associated with.

(Geerbt von DispatcherObject)
IsSealed

Ruft einen Wert ab, der angibt, ob diese Instanz derzeit versiegelt (schreibgeschützt) ist.Gets a value that indicates whether this instance is currently sealed (read-only).

Methoden

CheckAccess()

Bestimmt, ob der aufrufende Thread auf dieses DispatcherObject zugreifen kann.Determines whether the calling thread has access to this DispatcherObject.

(Geerbt von DispatcherObject)
ClearValue(DependencyProperty)

Löscht den lokalen Wert einer Eigenschaft.Clears the local value of a property. Die Eigenschaft, deren Wert gelöscht werden soll, wird durch einen DependencyProperty-Bezeichner angegeben.The property to be cleared is specified by a DependencyProperty identifier.

ClearValue(DependencyPropertyKey)

Löscht den lokalen Wert einer schreibgeschützten Eigenschaft.Clears the local value of a read-only property. Die Eigenschaft, deren Wert gelöscht werden soll, wird durch einen DependencyPropertyKey angegeben.The property to be cleared is specified by a DependencyPropertyKey.

CoerceValue(DependencyProperty)

Erzwingt den Wert der angegebenen Abhängigkeitseigenschaft.Coerces the value of the specified dependency property. Dies erfolgt durch den Aufruf einer beliebigen CoerceValueCallback-Funktion, die in den Metadaten für die Abhängigkeitseigenschaft angegeben ist, während sie beim aufrufenden DependencyObject beendet wird.This is accomplished by invoking any CoerceValueCallback function specified in property metadata for the dependency property as it exists on the calling DependencyObject.

Equals(Object)

Bestimmt, ob ein angegebenes DependencyObject dem aktuellen DependencyObject entspricht.Determines whether a provided DependencyObject is equivalent to the current DependencyObject.

GetHashCode()

Ruft einen Hashcode für diese DependencyObject ab.Gets a hash code for this DependencyObject.

GetLocalValueEnumerator()

Erstellt einen spezialisierten Enumerator, mit dem bestimmt wird, welche Abhängigkeitseigenschaften dieses DependencyObject über lokal festgelegte Werte verfügen.Creates a specialized enumerator for determining which dependency properties have locally set values on this DependencyObject.

GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Geerbt von Object)
GetValue(DependencyProperty)

Gibt den aktuellen effektiven Wert einer Abhängigkeitseigenschaft für diese Instanz eines DependencyObject zurück.Returns the current effective value of a dependency property on this instance of a DependencyObject.

InvalidateProperty(DependencyProperty)

Wertet den effektiven Wert für die angegebene Abhängigkeitseigenschaft erneut aus.Re-evaluates the effective value for the specified dependency property.

MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Geerbt von Object)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Wird immer dann aufgerufen, wenn der effektive Wert einer Abhängigkeitseigenschaft für dieses DependencyObject aktualisiert wurde.Invoked whenever the effective value of any dependency property on this DependencyObject has been updated. Welche spezifische Abhängigkeitseigenschaft geändert wird, wird in den Ereignisdaten gemeldet.The specific dependency property that changed is reported in the event data.

ReadLocalValue(DependencyProperty)

Gibt, sofern vorhanden, den lokalen Wert einer Abhängigkeitseigenschaft zurück.Returns the local value of a dependency property, if it exists.

SetCurrentValue(DependencyProperty, Object)

Legt den Wert einer Abhängigkeitseigenschaft fest, ohne die Wertquelle zu ändern.Sets the value of a dependency property without changing its value source.

SetValue(DependencyProperty, Object)

Legt den lokalen Wert einer Abhängigkeitseigenschaft fest, die über ihren Bezeichner angegeben wird.Sets the local value of a dependency property, specified by its dependency property identifier.

SetValue(DependencyPropertyKey, Object)

Legt den lokalen Wert einer schreibgeschützten Abhängigkeitseigenschaft fest, die durch den DependencyPropertyKey-Bezeichner der Abhängigkeitseigenschaft angegeben ist.Sets the local value of a read-only dependency property, specified by the DependencyPropertyKey identifier of the dependency property.

ShouldSerializeProperty(DependencyProperty)

Gibt einen Wert zurück, der angibt, ob Serialisierungsprozesse den Wert der bereitgestellten Abhängigkeitseigenschaft serialisieren sollen.Returns a value that indicates whether serialization processes should serialize the value for the provided dependency property.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Geerbt von Object)
VerifyAccess()

Erzwingt, dass der aufrufende Thread auf dieses DispatcherObject zugreifen kann.Enforces that the calling thread has access to this DispatcherObject.

(Geerbt von DispatcherObject)

Gilt für:

Siehe auch