DependencyObject Osztály

Definíció

A függőségi tulajdonságrendszerben részt vevő objektumot jelöli.

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
Öröklődés
DependencyObject
Származtatott
Attribútumok

Példák

Az alábbi példa egy új absztrakt osztály létrehozásához vezethető DependencyObject vissza. Az osztály ezután regisztrál egy csatolt tulajdonságot, és a csatolt tulajdonság támogatási tagjait is tartalmazza.

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

Megjegyzések

A DependencyObject osztály számos származtatott osztályán engedélyezi Windows megjelenítési alaprendszer (WPF) tulajdonságrendszer-szolgáltatásokat.

A tulajdonságrendszer elsődleges funkciója a tulajdonságok értékeinek kiszámítása, valamint a rendszer értesítése a megváltozott értékekről. Egy másik kulcsosztály, amely részt vesz a tulajdonságrendszerben, az .DependencyProperty DependencyProperty lehetővé teszi a függőségi tulajdonságok tulajdonságrendszerbe való regisztrálását, valamint az egyes függőségi tulajdonságok azonosítását és információit, míg DependencyObject alaposztályként lehetővé teszi az objektumok számára a függőségi tulajdonságok használatát.

DependencyObject szolgáltatások és jellemzők a következők:

  • Függőségi tulajdonság üzemeltetési támogatása. A metódus meghívásával Register regisztrál egy függőségi tulajdonságot, és a metódus visszatérési értékét nyilvános statikus mezőként tárolja az osztályban.

  • Csatolt tulajdonság-üzemeltetési támogatás. A metódus meghívásával RegisterAttached regisztrál egy csatolt tulajdonságot, és a metódus visszatérési értékét nyilvános statikus írásvédett mezőként tárolja az osztályban. (További tagkövetelmények is vannak; vegye figyelembe, hogy ez a csatolt tulajdonságok WPF konkrét implementációját jelenti. Részletekért lásd: Attached Properties Overview.) A csatolt tulajdonság ezután bármely olyan osztályra beállítható, amely a DependencyObject származik.

  • Segédprogram-metódusok lekérése, beállítása és törlése a kiszolgálón található függőségi tulajdonságok értékeihez DependencyObject.

  • Metaadatok, kényszerítési érték támogatása, tulajdonságváltozásról szóló értesítés, valamint függőségi tulajdonságok vagy csatolt tulajdonságok visszahívásainak felülbírálása. Az DependencyObject osztály emellett megkönnyíti a tulajdonosonkénti tulajdonság metaadatait egy függőségi tulajdonság esetében.

  • Az , ContentElementFreezablevagy Visual. (UIElementegy másik alapelemosztályhoz tartozik egy osztályhierarchia, amely tartalmazza a Visual.)

Konstruktorok

Name Description
DependencyObject()

Inicializálja a DependencyObject osztály új példányát.

Tulajdonságok

Name Description
DependencyObjectType

Lekéri a DependencyObjectType példány CLR-típusát körbefuttatót.

Dispatcher

Lekérdezi, Dispatcher hogy ez a társítva van-e DispatcherObject .

(Öröklődés forrása DispatcherObject)
IsSealed

Olyan értéket kap, amely jelzi, hogy a példány jelenleg zárolva van-e (írásvédett).

Metódusok

Name Description
CheckAccess()

Meghatározza, hogy a hívó szál hozzáfér-e ehhez DispatcherObject.

(Öröklődés forrása DispatcherObject)
ClearValue(DependencyProperty)

Törli egy tulajdonság helyi értékét. A törölni kívánt tulajdonságot egy DependencyProperty azonosító határozza meg.

ClearValue(DependencyPropertyKey)

Törli egy írásvédett tulajdonság helyi értékét. A törölni kívánt tulajdonságot egy DependencyPropertyKey.

CoerceValue(DependencyProperty)

A megadott függőségi tulajdonság értékét kényszeríti. Ez úgy érhető el, hogy meghívja a függőségi tulajdonság tulajdonság metaadataiban megadott függvényeket CoerceValueCallback a hívás DependencyObjectsorán.

Equals(Object)

Meghatározza, hogy a megadott DependencyObject érték megegyezik-e az aktuális DependencyObjectértékével.

GetHashCode()

Ehhez lekéri a DependencyObjectkivonatkódot.

GetLocalValueEnumerator()

Létrehoz egy speciális enumerátort annak meghatározásához, hogy mely függőségi tulajdonságok rendelkeznek helyileg beállított értékekkel.DependencyObject

GetType()

Lekéri az Type aktuális példányt.

(Öröklődés forrása Object)
GetValue(DependencyProperty)

Egy függőségi tulajdonság aktuális tényleges értékét adja vissza az adott példányon DependencyObject.

InvalidateProperty(DependencyProperty)

Újra kiértékeli a megadott függőségi tulajdonság tényleges értékét.

MemberwiseClone()

Az aktuális Objectpéldány sekély másolatát hozza létre.

(Öröklődés forrása Object)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Akkor hívjuk meg, ha az adott DependencyObject függőségi tulajdonság tényleges értéke frissült. A módosított függőségi tulajdonságot az eseményadatok jelentik.

ReadLocalValue(DependencyProperty)

Egy függőségi tulajdonság helyi értékét adja vissza, ha létezik.

SetCurrentValue(DependencyProperty, Object)

Beállítja egy függőségi tulajdonság értékét az értékforrás módosítása nélkül.

SetValue(DependencyProperty, Object)

Beállítja egy függőségi tulajdonság helyi értékét, amelyet a függőségi tulajdonság azonosítója határoz meg.

SetValue(DependencyPropertyKey, Object)

Beállítja egy írásvédett függőség tulajdonság helyi értékét, amelyet a DependencyPropertyKey függőségi tulajdonság azonosítója határoz meg.

ShouldSerializeProperty(DependencyProperty)

Olyan értéket ad vissza, amely jelzi, hogy a szerializálási folyamatok szerializálják-e a megadott függőségi tulajdonság értékét.

ToString()

Az aktuális objektumot jelképező sztringet ad vissza.

(Öröklődés forrása Object)
VerifyAccess()

Kényszeríti, hogy a hívószál hozzáférhessen ehhez.DispatcherObject

(Öröklődés forrása DispatcherObject)

A következőre érvényes:

Lásd még