DependencyObject Osztály
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
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
- 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) |