DependencyObject Třída

Definice

Představuje objekt, který je součástí systému vlastností závislosti.Represents an object that participates in the dependency property system.

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
Dědičnost
DependencyObject
Odvozené
Atributy

Příklady

Následující příklad je odvozen z DependencyObject pro vytvoření nové abstraktní třídy.The following example derives from DependencyObject to create a new abstract class. Třída pak zaregistruje připojenou vlastnost a zahrne členy podpory pro danou připojenou vlastnost.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

Poznámky

DependencyObjectTřída povoluje Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) systémové služby vlastností ve svých mnoha odvozených třídách.The DependencyObject class enables Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) property system services on its many derived classes.

Primární funkcí systému vlastností je vypočítat hodnoty vlastností a poskytnout systémové oznámení o hodnotách, které se změnily.The property system's primary function is to compute the values of properties, and to provide system notification about values that have changed. Další klíčovou třídou, která je součástí systému vlastností, je DependencyProperty .Another key class that participates in the property system is DependencyProperty. DependencyProperty umožňuje registraci vlastností závislosti do systému vlastností a poskytuje identifikaci a informace o každé vlastnosti závislosti, zatímco DependencyObject jako základní třída umožňuje objektům používat vlastnosti závislosti.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 mezi služby a vlastnosti patří následující:DependencyObject services and characteristics include the following:

  • Podpora hostování vlastností závislosti.Dependency property hosting support. Vlastnost závislosti zaregistrujete voláním Register metody a uložíte návratovou hodnotu metody jako veřejné statické pole ve vaší třídě.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.

  • Přidružená podpora hostování vlastností.Attached property hosting support. Připojenou vlastnost zaregistrujete voláním RegisterAttached metody a uložíte návratovou hodnotu metody jako veřejné statické pole jen pro čtení ve vaší třídě.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. (Existují i další požadavky na členy. Všimněte si, že to představuje WPFWPF konkrétní implementaci pro připojené vlastnosti.(There are also additional member requirements; note that this represents a WPFWPF specific implementation for attached properties. Podrobnosti najdete v tématu Přehled připojených vlastností.) Připojenou vlastnost lze následně nastavit na jakékoli třídě, která je odvozena z DependencyObject .For details, see Attached Properties Overview.) Your attached property can then be set on any class that derives from DependencyObject.

  • Získání, nastavení a vymazání metod nástrojů pro hodnoty všech vlastností závislosti, které existují na DependencyObject .Get, set, and clear utility methods for values of any dependency properties that exist on the DependencyObject.

  • Metadata, podpora s podporou hodnot, oznámení o změně vlastnosti, přepisování zpětných volání pro vlastnosti závislosti nebo připojené vlastnosti.Metadata, coerce value support, property changed notification, and override callbacks for dependency properties or attached properties. DependencyObjectTřída také usnadňuje metadata vlastností jednotlivých vlastníků pro vlastnost závislosti.Also, the DependencyObject class facilitates the per-owner property metadata for a dependency property.

  • Společná základní třída pro třídy odvozené z ContentElement , Freezable nebo Visual .A common base class for classes derived from ContentElement, Freezable, or Visual. ( UIElement , další základní třída elementu, má hierarchii tříd, která zahrnuje Visual .)(UIElement, another base element class, has a class hierarchy that includes Visual.)

Konstruktory

DependencyObject()

Inicializuje novou instanci DependencyObject třídy.Initializes a new instance of the DependencyObject class.

Vlastnosti

DependencyObjectType

Získá DependencyObjectType , který zabalí CLRCLR typ této instance.Gets the DependencyObjectType that wraps the CLRCLR type of this instance.

Dispatcher

Získá Dispatcher přidružený k DispatcherObject .Gets the Dispatcher this DispatcherObject is associated with.

(Zděděno od DispatcherObject)
IsSealed

Načte hodnotu, která označuje, jestli je tato instance aktuálně zapečetěná (jen pro čtení).Gets a value that indicates whether this instance is currently sealed (read-only).

Metody

CheckAccess()

Určuje, zda má volající vlákno přístup DispatcherObject .Determines whether the calling thread has access to this DispatcherObject.

(Zděděno od DispatcherObject)
ClearValue(DependencyProperty)

Vymaže místní hodnotu vlastnosti.Clears the local value of a property. Vlastnost, která má být vyčištěna, je určena DependencyProperty identifikátorem.The property to be cleared is specified by a DependencyProperty identifier.

ClearValue(DependencyPropertyKey)

Vymaže místní hodnotu vlastnosti jen pro čtení.Clears the local value of a read-only property. Vlastnost, která má být vymazána, je určena parametrem DependencyPropertyKey .The property to be cleared is specified by a DependencyPropertyKey.

CoerceValue(DependencyProperty)

Převede hodnotu zadané vlastnosti závislosti.Coerces the value of the specified dependency property. To se provádí vyvoláním jakékoli CoerceValueCallback funkce určené v metadatech vlastnosti pro vlastnost závislosti, protože existuje při volání DependencyObject .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)

Určuje, zda je poskytnutý DependencyObject ekvivalent aktuální DependencyObject .Determines whether a provided DependencyObject is equivalent to the current DependencyObject.

GetHashCode()

Získá kód hodnoty hash DependencyObject .Gets a hash code for this DependencyObject.

GetLocalValueEnumerator()

Vytvoří specializovaný enumerátor pro zjištění, které vlastnosti závislosti mají lokálně nastavené hodnoty DependencyObject .Creates a specialized enumerator for determining which dependency properties have locally set values on this DependencyObject.

GetType()

Získá Type aktuální instanci.Gets the Type of the current instance.

(Zděděno od Object)
GetValue(DependencyProperty)

Vrátí aktuální platnou hodnotu vlastnosti závislosti v této instanci DependencyObject .Returns the current effective value of a dependency property on this instance of a DependencyObject.

InvalidateProperty(DependencyProperty)

Znovu vyhodnotí platnou hodnotu pro zadanou vlastnost závislosti.Re-evaluates the effective value for the specified dependency property.

MemberwiseClone()

Vytvoří kopii aktuálního seznamu Object .Creates a shallow copy of the current Object.

(Zděděno od Object)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Vyvolá se vždy, když byla aktualizována skutečná hodnota jakékoli vlastnosti závislosti DependencyObject .Invoked whenever the effective value of any dependency property on this DependencyObject has been updated. Konkrétní vlastnost závislosti, která se změnila, je uvedena v datech události.The specific dependency property that changed is reported in the event data.

ReadLocalValue(DependencyProperty)

Vrátí místní hodnotu vlastnosti závislosti, pokud existuje.Returns the local value of a dependency property, if it exists.

SetCurrentValue(DependencyProperty, Object)

Nastaví hodnotu vlastnosti závislosti beze změny jejího zdroje hodnoty.Sets the value of a dependency property without changing its value source.

SetValue(DependencyProperty, Object)

Nastaví místní hodnotu vlastnosti závislosti určenou identifikátorem vlastnosti závislosti.Sets the local value of a dependency property, specified by its dependency property identifier.

SetValue(DependencyPropertyKey, Object)

Nastaví místní hodnotu vlastnosti závislosti jen pro čtení určenou DependencyPropertyKey identifikátorem vlastnosti závislosti.Sets the local value of a read-only dependency property, specified by the DependencyPropertyKey identifier of the dependency property.

ShouldSerializeProperty(DependencyProperty)

Vrátí hodnotu, která označuje, zda mají procesy serializace serializovat hodnotu pro poskytnutou vlastnost závislosti.Returns a value that indicates whether serialization processes should serialize the value for the provided dependency property.

ToString()

Vrátí řetězec, který představuje aktuální objekt.Returns a string that represents the current object.

(Zděděno od Object)
VerifyAccess()

Vynutilo, aby volající vlákno měl přístup DispatcherObject .Enforces that the calling thread has access to this DispatcherObject.

(Zděděno od DispatcherObject)

Platí pro

Viz také