DependencyObject DependencyObject DependencyObject DependencyObject Class

Определение

Представляет объект, участвующий в системе свойств зависимостей.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
Наследование
DependencyObjectDependencyObjectDependencyObjectDependencyObject
Производный
Атрибуты

Примеры

Следующий пример является производным от DependencyObject для создания нового абстрактного класса.The following example derives from DependencyObject to create a new abstract class. Затем класс регистрирует присоединенное свойство и включает в себя элементы поддержки для этого присоединенного свойства.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

Комментарии

DependencyObject Класса включает Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) служб системы свойств на многих производных от него.The DependencyObject class enables Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) property system services on its many derived classes.

Основной функцией системы свойств является для вычисления значения свойств и Системное уведомление о значениях, которые были изменены.The property system's primary function is to compute the values of properties, and to provide system notification about values that have changed. Другой класс ключа, участвующий в системе свойств является DependencyProperty.Another key class that participates in the property system is DependencyProperty. DependencyProperty позволяет регистрации свойства зависимостей в системе свойств и предоставляет идентификации и сведениями о каждом свойстве зависимостей, в то время как DependencyObject как базовый класс позволяет объектам использовать свойства зависимостей.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 службы и характеристики включают следующее:DependencyObject services and characteristics include the following:

  • Поддержка размещения свойств зависимостей.Dependency property hosting support. Регистрируется свойство зависимости путем вызова Register метод и сохранения возвращаемого значения метода как открытое статическое поле в классе.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.

  • Поддержка размещения вложенных свойств.Attached property hosting support. Регистрация вложенного свойства зависимостей путем вызова RegisterAttached метод и сохранения возвращаемого значения метода как открытое статическое поле только для чтения в классе.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. (Существуют также дополнительные требования к членам; Обратите внимание на то, что это относится к WPFWPF конкретной реализации для присоединенных свойств.(There are also additional member requirements; note that this represents a WPFWPF specific implementation for attached properties. Дополнительные сведения см. в разделе зависимостей.) Затем можно задать присоединенное свойство для любого класса, производного от DependencyObject.For details, see Attached Properties Overview.) Your attached property can then be set on any class that derives from DependencyObject.

  • Get set и очистить служебные методы для значения всех свойств зависимостей, которые существуют на DependencyObject.Get, set, and clear utility methods for values of any dependency properties that exist on the DependencyObject.

  • Метаданные, приводимый поддержка значений, изменения свойств уведомлений и обратные вызовы переопределение для свойств зависимостей или присоединенного свойства.Metadata, coerce value support, property changed notification, and override callbacks for dependency properties or attached properties. Кроме того DependencyObject класс облегчает-owner метаданные свойства зависимостей.Also, the DependencyObject class facilitates the per-owner property metadata for a dependency property.

  • Общий базовый класс для классов, производным от ContentElement, Freezable, или Visual.A common base class for classes derived from ContentElement, Freezable, or Visual. (UIElement, другого класса базовых элементов, имеет иерархию классов, который включает в себя Visual.)(UIElement, another base element class, has a class hierarchy that includes Visual.)

Конструкторы

DependencyObject() DependencyObject() DependencyObject() DependencyObject()

Инициализирует новый экземпляр класса DependencyObject.Initializes a new instance of the DependencyObject class.

Свойства

DependencyObjectType DependencyObjectType DependencyObjectType DependencyObjectType

Возвращает DependencyObjectType, который создает обертку для типа CLRCLR данного экземпляра.Gets the DependencyObjectType that wraps the CLRCLR type of this instance.

Dispatcher Dispatcher Dispatcher Dispatcher

Возвращает объект Dispatcher, с которым связан этот объект DispatcherObject.Gets the Dispatcher this DispatcherObject is associated with.

(Inherited from DispatcherObject)
IsSealed IsSealed IsSealed IsSealed

Получает значение, указывающее, является ли этот экземпляр в данный момент запечатанным (доступным только для чтения).Gets a value that indicates whether this instance is currently sealed (read-only).

Методы

CheckAccess() CheckAccess() CheckAccess() CheckAccess()

Определяет, имеет ли вызывающий поток доступ к этому DispatcherObject.Determines whether the calling thread has access to this DispatcherObject.

(Inherited from DispatcherObject)
ClearValue(DependencyProperty) ClearValue(DependencyProperty) ClearValue(DependencyProperty) ClearValue(DependencyProperty)

Очищает локальное значение свойства.Clears the local value of a property. Очищаемое свойство задается идентификатором DependencyProperty.The property to be cleared is specified by a DependencyProperty identifier.

ClearValue(DependencyPropertyKey) ClearValue(DependencyPropertyKey) ClearValue(DependencyPropertyKey) ClearValue(DependencyPropertyKey)

Очищает локальное значение свойства, доступного только для чтения.Clears the local value of a read-only property. Очищаемое свойство задается объектом DependencyPropertyKey.The property to be cleared is specified by a DependencyPropertyKey.

CoerceValue(DependencyProperty) CoerceValue(DependencyProperty) CoerceValue(DependencyProperty) CoerceValue(DependencyProperty)

Приводит значение указанного свойства зависимостей.Coerces the value of the specified dependency property. Это осуществляется путем вызова какой-либо функции CoerceValueCallback, указанной в метаданных свойства зависимостей, которое существует в вызывающем объекте 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) Equals(Object) Equals(Object) Equals(Object)

Определяет, является ли указанный DependencyObject эквивалентом текущего DependencyObject.Determines whether a provided DependencyObject is equivalent to the current DependencyObject.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Получает хэш-код для данного объекта DependencyObject.Gets a hash code for this DependencyObject.

GetLocalValueEnumerator() GetLocalValueEnumerator() GetLocalValueEnumerator() GetLocalValueEnumerator()

Создает специализированный перечислитель для определения свойств зависимостей, которые локально установили значения для данного DependencyObject.Creates a specialized enumerator for determining which dependency properties have locally set values on this DependencyObject.

GetType() GetType() GetType() GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Inherited from Object)
GetValue(DependencyProperty) GetValue(DependencyProperty) GetValue(DependencyProperty) GetValue(DependencyProperty)

Возвращает текущее действующее значение свойства зависимостей в этом экземпляре DependencyObject.Returns the current effective value of a dependency property on this instance of a DependencyObject.

InvalidateProperty(DependencyProperty) InvalidateProperty(DependencyProperty) InvalidateProperty(DependencyProperty) InvalidateProperty(DependencyProperty)

Повторно вычисляет действующее значение для указанного свойства зависимостейRe-evaluates the effective value for the specified dependency property

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Inherited from Object)
OnPropertyChanged(DependencyPropertyChangedEventArgs) OnPropertyChanged(DependencyPropertyChangedEventArgs) OnPropertyChanged(DependencyPropertyChangedEventArgs) OnPropertyChanged(DependencyPropertyChangedEventArgs)

Вызывается каждый раз, когда обновляется действительное значение любого свойства зависимостей для данного DependencyObject.Invoked whenever the effective value of any dependency property on this DependencyObject has been updated. Конкретное свойство зависимости, которое изменилось, сообщается в данных события.The specific dependency property that changed is reported in the event data.

ReadLocalValue(DependencyProperty) ReadLocalValue(DependencyProperty) ReadLocalValue(DependencyProperty) ReadLocalValue(DependencyProperty)

Возвращает локальное значение свойства зависимостей, если таковое существует.Returns the local value of a dependency property, if it exists.

SetCurrentValue(DependencyProperty, Object) SetCurrentValue(DependencyProperty, Object) SetCurrentValue(DependencyProperty, Object) SetCurrentValue(DependencyProperty, Object)

Задает значение свойства зависимостей, не меняя источник значения.Sets the value of a dependency property without changing its value source.

SetValue(DependencyProperty, Object) SetValue(DependencyProperty, Object) SetValue(DependencyProperty, Object) SetValue(DependencyProperty, Object)

Задает локальное значение свойства зависимостей, указанного идентификатором этого свойства.Sets the local value of a dependency property, specified by its dependency property identifier.

SetValue(DependencyPropertyKey, Object) SetValue(DependencyPropertyKey, Object) SetValue(DependencyPropertyKey, Object) SetValue(DependencyPropertyKey, Object)

Задает локальное значение свойства зависимости только для чтения, определяемое идентификатором DependencyPropertyKey свойства зависимостей.Sets the local value of a read-only dependency property, specified by the DependencyPropertyKey identifier of the dependency property.

ShouldSerializeProperty(DependencyProperty) ShouldSerializeProperty(DependencyProperty) ShouldSerializeProperty(DependencyProperty) ShouldSerializeProperty(DependencyProperty)

Возвращает значение, которое указывает, следует ли процессам сериализации выполнять сериализацию значения для предоставленного свойства зависимостей.Returns a value that indicates whether serialization processes should serialize the value for the provided dependency property.

ToString() ToString() ToString() ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Inherited from Object)
VerifyAccess() VerifyAccess() VerifyAccess() VerifyAccess()

Обеспечивает наличие у вызывающего потока доступ к этому DispatcherObject.Enforces that the calling thread has access to this DispatcherObject.

(Inherited from DispatcherObject)

Применяется к

Дополнительно