Informationen
Das angeforderte Thema wird unten angezeigt. Es ist jedoch nicht in dieser Bibliothek vorhanden.

DependencyObject-Klasse

Stellt ein Objekt dar, das am System der Abhängigkeitseigenschaften teilnimmt.

Namespace:  System.Windows
Assembly:  WindowsBase (in WindowsBase.dll)
XMLNS für XAML: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation

[NameScopePropertyAttribute("NameScope", typeof(NameScope))]
public class DependencyObject : DispatcherObject

Der DependencyObject-Typ macht die folgenden Member verfügbar.

  NameBeschreibung
Öffentliche MethodeDependencyObjectInitialisiert eine neue Instanz der DependencyObject-Klasse.
Zum Seitenanfang

  NameBeschreibung
Öffentliche EigenschaftDependencyObjectTypeRuft den DependencyObjectType ab, der den CLR-Typ dieser Instanz umschließt. 
Öffentliche EigenschaftDispatcherRuft den Dispatcher ab, der diesem DispatcherObject zugeordnet ist. (Von DispatcherObject geerbt.)
Öffentliche EigenschaftIsSealedRuft einen Wert ab, der angibt, ob diese Instanz derzeit versiegelt (schreibgeschützt) ist.
Zum Seitenanfang

  NameBeschreibung
Öffentliche MethodeCheckAccessBestimmt, ob der aufrufende Thread auf dieses DispatcherObject zugreifen kann. (Von DispatcherObject geerbt.)
Öffentliche MethodeClearValue(DependencyProperty)Löscht den lokalen Wert einer Eigenschaft. Die zu löschende Eigenschaft wird mit einem DependencyProperty-Bezeichner angegeben.
Öffentliche MethodeClearValue(DependencyPropertyKey)Löscht den lokalen Wert einer schreibgeschützten Eigenschaft. Die zu löschende Eigenschaft wird mit einem DependencyPropertyKey angegeben.
Öffentliche MethodeCoerceValueWandelt den Wert der angegebenen Abhängigkeitseigenschaft um. Für die Umwandlung wird eine vorhandene CoerceValueCallback-Funktion aufgerufen, die in den Metadaten der Abhängigkeitseigenschaft für das aufrufende DependencyObject angegeben ist.
Öffentliche MethodeEqualsBestimmt, ob ein angegebenes DependencyObject dem aktuellen DependencyObject entspricht. (Überschreibt Object.Equals(Object).)
Geschützte MethodeFinalize Gibt einem Objekt Gelegenheit, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der Garbage Collection freigegeben wird. (Von Object geerbt.)
Öffentliche MethodeGetHashCodeRuft einen Hashcode für dieses DependencyObject ab. (Überschreibt Object.GetHashCode().)
Öffentliche MethodeGetLocalValueEnumeratorErstellt einen spezialisierten Enumerator, mit dem bestimmt wird, welche Abhängigkeitseigenschaften dieses DependencyObject über lokal festgelegte Werte verfügen.
Öffentliche MethodeGetTypeRuft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Öffentliche MethodeGetValueGibt den aktuellen effektiven Wert einer Abhängigkeitseigenschaft in dieser Instanz eines DependencyObject zurück.
Öffentliche MethodeInvalidatePropertyBerechnet den effektiven Wert für die angegebene Abhängigkeitseigenschaft neu
Geschützte MethodeMemberwiseCloneErstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.)
Geschützte MethodeOnPropertyChangedWird immer dann aufgerufen, wenn der tatsächliche Wert einer Abhängigkeitseigenschaft eines DependencyObject aktualisiert wurde. Die spezifische Abhängigkeitseigenschaft, die sich geändert hat, wird in den Ereignisdaten angegeben.
Öffentliche MethodeReadLocalValueGibt, sofern vorhanden, den lokalen Wert einer Abhängigkeitseigenschaft zurück.
Öffentliche MethodeSetCurrentValueLegt den Wert einer -Abhängigkeitseigenschaft fest, ohne die Wertquelle zu ändern.
Öffentliche MethodeSetValue(DependencyProperty, Object)Legt den lokalen Wert einer Abhängigkeitseigenschaft fest, die über ihren Bezeichner angegeben wird.
Öffentliche MethodeSetValue(DependencyPropertyKey, Object)Legt den lokalen Wert einer schreibgeschützten Abhängigkeitseigenschaft fest, die über ihren DependencyPropertyKey-Bezeichner angegeben wird.
Geschützte MethodeShouldSerializePropertyGibt einen Wert zurück, der angibt, ob Serialisierungsprozesse den Wert der bereitgestellten Abhängigkeitseigenschaft serialisieren sollen.
Öffentliche MethodeToStringGibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.)
Öffentliche MethodeVerifyAccessErzwingt, dass der aufrufende Thread auf dieses DispatcherObject zugreifen kann. (Von DispatcherObject geerbt.)
Zum Seitenanfang

Die DependencyObject-Klasse aktiviert die Eigenschaftensystemdienste von Windows Presentation Foundation (WPF) für alle abgeleiteten Klassen.

Die Hauptfunktion des Eigenschaftensystems ist die Berechnung der Eigenschaftswerte. Darüber hinaus werden Systembenachrichtigungen im Falle von Wertänderungen ausgegeben. Eine andere Hauptklasse, die am Eigenschaftensystem teilnimmt, ist DependencyPropertyDependencyProperty ist für die Registrierung von Abhängigkeitseigenschaften im Eigenschaftensystem verantwortlich und stellt Identifikationen und Informationen für jede Abhängigkeitseigenschaft bereit. DependencyObject ermöglicht als Basisklasse Objekten die Verwendung der Abhängigkeitseigenschaften.

DependencyObject umfasst folgende Dienste und Merkmale:

  • Unterstützung für das Hosting von Abhängigkeitseigenschaften. Eine Abhängigkeitseigenschaft wird durch einen Aufruf der Register-Methode registriert, bei dem der Rückgabewert der Methode als öffentliches statisches Feld in der betreffenden Klasse gespeichert wird.

  • Unterstützung für das Hosting von angefügten Eigenschaften. Eine angefügte Eigenschaft wird durch einen Aufruf der RegisterAttached-Methode registriert, bei dem der Rückgabewert der Methode in einem öffentlichen statischen und schreibgeschützten Feld der betreffenden Klasse gespeichert wird. (Zusätzlich bestehen weitere Memberanforderungen. Beachten Sie, dass es sich hierbei um eine WPF-spezifische Implementierung für angefügte Eigenschaften handelt. Ausführliche Informationen finden Sie unter Übersicht über angefügte Eigenschaften.) Die angefügte Eigenschaft kann dann in jeder Klasse festgelegt werden, die von DependencyObject abgeleitet ist.

  • Abrufen, Festlegen und Löschen von Hilfsmethoden für die Werte beliebiger Abhängigkeitseigenschaften, die in DependencyObject vorhanden sind.

  • Metadaten, Wertumwandlungen, Änderungsbenachrichtigungen für Eigenschaften und Rückrufüberschreibungen für Abhängigkeitseigenschaften und angefügte Eigenschaften. Zudem stellt die DependencyObject-Klasse besitzerspezifische Eigenschaftenmetadaten für eine Abhängigkeitseigenschaft bereit.

  • Eine allgemeine Basisklasse für Klassen, die von ContentElement, Freezable oder Visual abgeleitet werden. (Visual ist auch in der Klassenhierarchie der Basiselementklasse UIElement enthalten.)

Im folgenden Beispiel wird eine neue abstrakte Klasse von DependencyObject abgeleitet. Die Klasse registriert anschließend eine angefügte Eigenschaft und fügt Unterstützungsmember für diese angefügte Eigenschaft hinzu.


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)
    );
}


.NET Framework

Unterstützt in: 4, 3.5, 3.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 oder höher, Windows XP SP3, Windows Server 2008 (Server Core wird nicht unterstützt), Windows Server 2008 R2 (Server Core wird mit SP1 oder höher unterstützt), Windows Server 2003 SP2

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Community-Beiträge

Anzeigen:
© 2014 Microsoft