DependencyObject Sınıf

Tanım

Bağımlılık özelliği sistemine katılan bir nesneyi temsil eder.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
Devralma
DependencyObject
Türetilmiş
Öznitelikler

Örnekler

Aşağıdaki örnek, DependencyObject Yeni bir soyut sınıf oluşturmak için öğesinden türetilir.The following example derives from DependencyObject to create a new abstract class. Daha sonra sınıfı ekli bir özelliği kaydeder ve bu iliştirilmiş özellik için destek üyelerini içerir.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

Açıklamalar

DependencyObjectSınıfı, Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) çok sayıda türetilmiş sınıfta özellik sistem hizmetlerinin kullanılmasına izin vermez.The DependencyObject class enables Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) property system services on its many derived classes.

Özellik sisteminin birincil işlevi, özelliklerinin değerlerini hesaplamak ve değişmiş değerler hakkında sistem bildirimi sağlamak için kullanılır.The property system's primary function is to compute the values of properties, and to provide system notification about values that have changed. Özellik sistemine katılan başka bir anahtar sınıfı DependencyProperty .Another key class that participates in the property system is DependencyProperty. DependencyProperty bağımlılık özelliklerinin özellik sistemine kaydedilmesini sağlar ve DependencyObject temel sınıf olarak nesnelerin bağımlılık özelliklerini kullanmasına olanak sağlarken, her bağımlılık özelliği hakkında tanımlama ve bilgi sağlar.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 Hizmetler ve özellikler şunları içerir:DependencyObject services and characteristics include the following:

  • Bağımlılık özelliği barındırma desteği.Dependency property hosting support. Yöntemini çağırarak bir bağımlılık özelliği kaydeder Register ve yöntemin dönüş değerini sınıfınıza ortak statik bir alan olarak depolarsınız.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.

  • Ekli Özellik barındırma desteği.Attached property hosting support. Yöntemini çağırarak iliştirilmiş bir özelliği kaydeder RegisterAttached ve yöntemin dönüş değerini sınıfınıza ortak statik salt okunurdur bir alan olarak depolarsınız.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. (Ek üye gereksinimleri de mevcuttur; bu, WPFWPF Ekli Özellikler için belirli bir uygulamayı temsil ettiğini unutmayın.(There are also additional member requirements; note that this represents a WPFWPF specific implementation for attached properties. Ayrıntılar için bkz. ekli özelliklere genel bakış.) İliştirilen özellik daha sonra, öğesinden türetilen herhangi bir sınıfta ayarlanabilir DependencyObject .For details, see Attached Properties Overview.) Your attached property can then be set on any class that derives from DependencyObject.

  • Üzerinde var olan herhangi bir bağımlılık özelliği değerleri için Get, set ve Clear yardımcı yöntemlerini DependencyObject .Get, set, and clear utility methods for values of any dependency properties that exist on the DependencyObject.

  • Meta veriler, coerce değeri desteği, özellik değişti bildirimi ve bağımlılık özellikleri veya iliştirilmiş özellikler için geri çağırmaları geçersiz kılar.Metadata, coerce value support, property changed notification, and override callbacks for dependency properties or attached properties. Ayrıca, DependencyObject sınıfı, bağımlılık özelliği için sahip olan özellik meta verilerini kolaylaştırır.Also, the DependencyObject class facilitates the per-owner property metadata for a dependency property.

  • , Veya ' den türetilmiş sınıflar için ortak bir temel sınıf ContentElement Freezable Visual .A common base class for classes derived from ContentElement, Freezable, or Visual. ( UIElement , başka bir temel öğe sınıfı, içeren bir sınıf hiyerarşisine sahiptir Visual .)(UIElement, another base element class, has a class hierarchy that includes Visual.)

Oluşturucular

DependencyObject()

DependencyObject sınıfının yeni bir örneğini başlatır.Initializes a new instance of the DependencyObject class.

Özellikler

DependencyObjectType

DependencyObjectTypeBu örneğin türünü sarmalayan öğesini alır CLRCLR .Gets the DependencyObjectType that wraps the CLRCLR type of this instance.

Dispatcher

Dispatcher DispatcherObject İle ilişkili olduğunu alır.Gets the Dispatcher this DispatcherObject is associated with.

(Devralındığı yer: DispatcherObject)
IsSealed

Bu örneğin şu anda kapalı olup olmadığını gösteren bir değer alır (salt okunurdur).Gets a value that indicates whether this instance is currently sealed (read-only).

Yöntemler

CheckAccess()

Çağıran iş parçacığının bu öğesine erişip erişemeyeceğini belirler DispatcherObject .Determines whether the calling thread has access to this DispatcherObject.

(Devralındığı yer: DispatcherObject)
ClearValue(DependencyProperty)

Bir özelliğin yerel değerini temizler.Clears the local value of a property. Temizlenme özelliği bir tanımlayıcı tarafından belirtilir DependencyProperty .The property to be cleared is specified by a DependencyProperty identifier.

ClearValue(DependencyPropertyKey)

Salt okunurdur özelliğinin yerel değerini temizler.Clears the local value of a read-only property. Temizlenme özelliği bir tarafından belirtilir DependencyPropertyKey .The property to be cleared is specified by a DependencyPropertyKey.

CoerceValue(DependencyProperty)

Belirtilen bağımlılık özelliğinin değerini zorlar.Coerces the value of the specified dependency property. Bu, CoerceValueCallback çağırma üzerinde olduğu gibi bağımlılık özelliği için özellik meta verilerinde belirtilen herhangi bir işlevi çağırarak gerçekleştirilir 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)

Belirtilen değerin geçerli olup olmadığını belirler DependencyObject DependencyObject .Determines whether a provided DependencyObject is equivalent to the current DependencyObject.

GetHashCode()

Bunun için bir karma kodu alır DependencyObject .Gets a hash code for this DependencyObject.

GetLocalValueEnumerator()

Hangi bağımlılık özelliklerinin bunun üzerinde yerel olarak değer ayarlamış olduğunu belirlemek için özel bir Numaralandırıcı oluşturur DependencyObject .Creates a specialized enumerator for determining which dependency properties have locally set values on this DependencyObject.

GetType()

TypeGeçerli örneği alır.Gets the Type of the current instance.

(Devralındığı yer: Object)
GetValue(DependencyProperty)

Bir bağımlılık özelliğinin bu örneğine ait geçerli etkin değeri döndürür DependencyObject .Returns the current effective value of a dependency property on this instance of a DependencyObject.

InvalidateProperty(DependencyProperty)

Belirtilen bağımlılık özelliği için geçerli değeri yeniden değerlendirir.Re-evaluates the effective value for the specified dependency property.

MemberwiseClone()

Geçerli bir basit kopyasını oluşturur Object .Creates a shallow copy of the current Object.

(Devralındığı yer: Object)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Bunun üzerinde herhangi bir bağımlılık özelliğinin etkin değeri DependencyObject güncelleştirildiğinde çağrılır.Invoked whenever the effective value of any dependency property on this DependencyObject has been updated. Değiştirilen belirli bağımlılık özelliği olay verilerinde raporlanır.The specific dependency property that changed is reported in the event data.

ReadLocalValue(DependencyProperty)

Varsa, bağımlılık özelliğinin yerel değerini döndürür.Returns the local value of a dependency property, if it exists.

SetCurrentValue(DependencyProperty, Object)

Bir bağımlılık özelliğinin değerini, değer kaynağını değiştirmeden ayarlar.Sets the value of a dependency property without changing its value source.

SetValue(DependencyProperty, Object)

Bağımlılık özelliği tanımlayıcısı tarafından belirtilen bir Dependency özelliğinin yerel değerini ayarlar.Sets the local value of a dependency property, specified by its dependency property identifier.

SetValue(DependencyPropertyKey, Object)

Bir salt okuma bağımlılığı özelliğinin yerel değerini, DependencyPropertyKey bağımlılık özelliğinin tanımlayıcısıyla belirtilen şekilde ayarlar.Sets the local value of a read-only dependency property, specified by the DependencyPropertyKey identifier of the dependency property.

ShouldSerializeProperty(DependencyProperty)

Serileştirme işlemlerinin, belirtilen bağımlılık özelliği için değeri serileştirmesi gerekip gerekmediğini belirten bir değer döndürür.Returns a value that indicates whether serialization processes should serialize the value for the provided dependency property.

ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.Returns a string that represents the current object.

(Devralındığı yer: Object)
VerifyAccess()

Çağıran iş parçacığının buna erişimi olmasını zorlar DispatcherObject .Enforces that the calling thread has access to this DispatcherObject.

(Devralındığı yer: DispatcherObject)

Şunlara uygulanır

Ayrıca bkz.