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
[System.Windows.Markup.NameScopeProperty("NameScope", typeof(System.Windows.NameScope))]
public class DependencyObject : System.Windows.Threading.DispatcherObject
public class DependencyObject : System.Windows.Threading.DispatcherObject
[<System.Windows.Markup.NameScopeProperty("NameScope", typeof(System.Windows.NameScope))>]
type DependencyObject = class
inherit DispatcherObject
type DependencyObject = class
inherit DispatcherObject
Public Class DependencyObject
Inherits DispatcherObject
- Dědičnost
- 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 umožňuje 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) 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 implementaci konkrétního WPF pro připojené vlastnosti.(There are also additional member requirements; note that this represents a WPF 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í typ CLR této instance.Gets the DependencyObjectType that wraps the CLR 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) |