DependencyObject Klasa

Definicja

Reprezentuje obiekt, który uczestniczy w systemie właściwości zależności.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
Dziedziczenie
DependencyObject
Pochodne
Atrybuty

Przykłady

Poniższy przykład pochodzi od DependencyObject, aby utworzyć nową klasę abstrakcyjną.The following example derives from DependencyObject to create a new abstract class. Klasa następnie rejestruje załączoną Właściwość i zawiera członków pomocy technicznej dla tej dołączonej właściwości.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

Uwagi

Klasa DependencyObject włącza usługi systemu właściwości Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) w wielu klasach pochodnych.The DependencyObject class enables Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) property system services on its many derived classes.

Podstawową funkcją systemu właściwości jest obliczanie wartości właściwości i zapewnienie powiadomienia systemu o wartościach, które uległy zmianie.The property system's primary function is to compute the values of properties, and to provide system notification about values that have changed. Inna Klasa klucza, która uczestniczy w systemie właściwości, jest DependencyProperty.Another key class that participates in the property system is DependencyProperty. DependencyProperty włącza rejestrację właściwości zależności w systemie właściwości i zawiera identyfikację i informacje o każdej właściwości zależności, natomiast DependencyObject jako klasa bazowa umożliwia obiektom Używanie właściwości zależności.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 usług i cech są następujące:DependencyObject services and characteristics include the following:

  • Obsługa hostingu właściwości zależności.Dependency property hosting support. Należy zarejestrować właściwość zależności przez wywołanie metody Register i przechowywanie wartości zwracanej metody jako publicznego pola statycznego w klasie.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.

  • Obsługa hostingu właściwości dołączonej.Attached property hosting support. Zarejestrowano dołączoną Właściwość przez wywołanie metody RegisterAttached i przechowywanie wartości zwracanej metody jako publicznego statycznego pola tylko do odczytu w klasie.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. (Istnieją również dodatkowe wymagania dotyczące elementu członkowskiego; należy zauważyć, że reprezentuje to WPFWPF konkretną implementację załączonych właściwości.(There are also additional member requirements; note that this represents a WPFWPF specific implementation for attached properties. Aby uzyskać szczegółowe informacje, zobacz Omówienie załączonych właściwości.) Dołączoną Właściwość można następnie ustawić dla każdej klasy, która pochodzi od DependencyObject.For details, see Attached Properties Overview.) Your attached property can then be set on any class that derives from DependencyObject.

  • Pobierz, ustaw i wyczyść metody narzędziowe dla wartości właściwości zależności, które istnieją w DependencyObject.Get, set, and clear utility methods for values of any dependency properties that exist on the DependencyObject.

  • Metadane, przekształcenie obsługi wartości, powiadomienie o zmianie właściwości i przesłonięcie wywołania zwrotnego dla właściwości zależności lub załączonych właściwości.Metadata, coerce value support, property changed notification, and override callbacks for dependency properties or attached properties. Ponadto Klasa DependencyObject umożliwia obsługę metadanych właściwości dla właściciela dla właściwości zależności.Also, the DependencyObject class facilitates the per-owner property metadata for a dependency property.

  • Wspólna Klasa bazowa dla klas pochodzących od ContentElement, Freezablelub Visual.A common base class for classes derived from ContentElement, Freezable, or Visual. (UIElement, inna Klasa elementu podstawowego ma hierarchię klas, która zawiera Visual).(UIElement, another base element class, has a class hierarchy that includes Visual.)

Konstruktory

DependencyObject()

Inicjuje nowe wystąpienie klasy DependencyObject klasy.Initializes a new instance of the DependencyObject class.

Właściwości

DependencyObjectType

Pobiera DependencyObjectType, które zawijają typ CLRCLR tego wystąpienia.Gets the DependencyObjectType that wraps the CLRCLR type of this instance.

Dispatcher

Dispatcher Pobiera ten DispatcherObject program jest skojarzony z.Gets the Dispatcher this DispatcherObject is associated with.

(Odziedziczone po DispatcherObject)
IsSealed

Pobiera wartość wskazującą, czy to wystąpienie jest aktualnie zapieczętowane (tylko do odczytu).Gets a value that indicates whether this instance is currently sealed (read-only).

Metody

CheckAccess()

Określa, czy wątek wywołujący ma dostęp do DispatcherObjecttego.Determines whether the calling thread has access to this DispatcherObject.

(Odziedziczone po DispatcherObject)
ClearValue(DependencyProperty)

Czyści wartość lokalną właściwości.Clears the local value of a property. Właściwość, która ma zostać wyczyszczona, jest określana przez identyfikator DependencyProperty.The property to be cleared is specified by a DependencyProperty identifier.

ClearValue(DependencyPropertyKey)

Czyści wartość lokalną właściwości tylko do odczytu.Clears the local value of a read-only property. Właściwość, która ma zostać wyczyszczona, jest określana przez DependencyPropertyKey.The property to be cleared is specified by a DependencyPropertyKey.

CoerceValue(DependencyProperty)

Przekształca wartość określonej właściwości zależności.Coerces the value of the specified dependency property. W tym celu należy wywołać dowolną funkcję CoerceValueCallback określoną w metadanych właściwości dla właściwości zależności, która istnieje w DependencyObjectwywoływania.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)

Określa, czy podana DependencyObject jest równoważna z bieżącym DependencyObject.Determines whether a provided DependencyObject is equivalent to the current DependencyObject.

GetHashCode()

Pobiera kod skrótu dla tego DependencyObject.Gets a hash code for this DependencyObject.

GetLocalValueEnumerator()

Tworzy wyspecjalizowany moduł wyliczający służący do określania, które właściwości zależności mają lokalnie ustawione wartości na tej DependencyObject.Creates a specialized enumerator for determining which dependency properties have locally set values on this DependencyObject.

GetType()

Pobiera Type bieżącego wystąpienia.Gets the Type of the current instance.

(Odziedziczone po Object)
GetValue(DependencyProperty)

Zwraca bieżącą obowiązującą wartość właściwości zależności w tym wystąpieniu DependencyObject.Returns the current effective value of a dependency property on this instance of a DependencyObject.

InvalidateProperty(DependencyProperty)

Ponowna ocenuje wartość efektywną dla określonej właściwości zależności.Re-evaluates the effective value for the specified dependency property.

MemberwiseClone()

Tworzy skróconą kopię bieżącego Object.Creates a shallow copy of the current Object.

(Odziedziczone po Object)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Wywoływana za każdym razem, gdy wartość skuteczna każdej właściwości zależności w tym DependencyObject została zaktualizowana.Invoked whenever the effective value of any dependency property on this DependencyObject has been updated. Określona właściwość zależności, która została zmieniona, jest raportowana w danych zdarzenia.The specific dependency property that changed is reported in the event data.

ReadLocalValue(DependencyProperty)

Zwraca wartość lokalną właściwości zależności, jeśli istnieje.Returns the local value of a dependency property, if it exists.

SetCurrentValue(DependencyProperty, Object)

Ustawia wartość właściwości zależności bez zmiany jego źródła wartości.Sets the value of a dependency property without changing its value source.

SetValue(DependencyProperty, Object)

Ustawia wartość lokalną właściwości zależności, określoną za pomocą identyfikatora właściwości zależności.Sets the local value of a dependency property, specified by its dependency property identifier.

SetValue(DependencyPropertyKey, Object)

Ustawia wartość lokalną właściwości zależności tylko do odczytu, określoną przez DependencyPropertyKey identyfikator właściwości zależności.Sets the local value of a read-only dependency property, specified by the DependencyPropertyKey identifier of the dependency property.

ShouldSerializeProperty(DependencyProperty)

Zwraca wartość wskazującą, czy procesy serializacji powinny serializować wartość dla podanej właściwości zależności.Returns a value that indicates whether serialization processes should serialize the value for the provided dependency property.

ToString()

Zwraca ciąg, który reprezentuje bieżący obiekt.Returns a string that represents the current object.

(Odziedziczone po Object)
VerifyAccess()

Wymusza, że wątek wywołujący ma dostęp do tego DispatcherObject.Enforces that the calling thread has access to this DispatcherObject.

(Odziedziczone po DispatcherObject)

Dotyczy

Zobacz też