DependencyObject Klas

Definitie

Vertegenwoordigt een object dat deelneemt aan het afhankelijkheidseigenschapssysteem.

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
Overname
DependencyObject
Afgeleid
Kenmerken

Voorbeelden

Het volgende voorbeeld is afgeleid van DependencyObject het maken van een nieuwe abstracte klasse. De klasse registreert vervolgens een gekoppelde eigenschap en bevat ondersteuningsleden voor die gekoppelde eigenschap.

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

Opmerkingen

De DependencyObject-klasse maakt Windows Presentation Foundation (WPF)-eigenschappensysteemservices in de vele afgeleide klassen mogelijk.

De primaire functie van het eigenschapssysteem is het berekenen van de waarden van eigenschappen en het verstrekken van systeemmeldingen over waarden die zijn gewijzigd. Een andere sleutelklasse die deelneemt aan het eigenschappensysteem is DependencyProperty. DependencyProperty maakt de registratie van afhankelijkheidseigenschappen in het eigenschappensysteem mogelijk en biedt identificatie en informatie over elke afhankelijkheidseigenschap, terwijl DependencyObject objecten als basisklasse de afhankelijkheidseigenschappen kunnen gebruiken.

DependencyObject services en kenmerken zijn onder andere:

  • Ondersteuning voor het hosten van afhankelijkheidseigenschappen. U registreert een afhankelijkheidseigenschap door de Register methode aan te roepen en de retourwaarde van de methode op te slaan als een openbaar statisch veld in uw klasse.

  • Ondersteuning voor het hosten van gekoppelde eigenschappen. U registreert een gekoppelde eigenschap door de RegisterAttached methode aan te roepen en de retourwaarde van de methode op te slaan als een openbaar statisch alleen-lezen veld in uw klasse. (Er zijn ook aanvullende lidvereisten; houd er rekening mee dat dit een WPF specifieke implementatie voor gekoppelde eigenschappen vertegenwoordigt. Zie Overzicht Van gekoppelde eigenschappen voor meer informatie. De gekoppelde eigenschap kan vervolgens worden ingesteld op elke klasse die is afgeleid van DependencyObject.

  • Hulpprogrammamethoden ophalen, instellen en wissen voor waarden van afhankelijkheidseigenschappen die aanwezig zijn op de DependencyObject.

  • Metagegevens, ondersteuning voor coerce-waarden, melding over gewijzigde eigenschappen van eigenschappen en onderdrukking van callbacks voor afhankelijkheidseigenschappen of gekoppelde eigenschappen. DependencyObject De klasse faciliteert ook de metagegevens van eigenschappen per eigenaar voor een afhankelijkheidseigenschap.

  • Een algemene basisklasse voor klassen die zijn afgeleid van ContentElement, Freezableof Visual. (UIElement, een andere basiselementklasse, heeft een klassehiërarchie die Visual.)

Constructors

Name Description
DependencyObject()

Initialiseert een nieuw exemplaar van de DependencyObject klasse.

Eigenschappen

Name Description
DependencyObjectType

Hiermee haalt u het DependencyObjectType CLR-type van dit exemplaar op.

Dispatcher

Hiermee wordt de Dispatcher aan dit DispatcherObject gekoppelde bestand.

(Overgenomen van DispatcherObject)
IsSealed

Hiermee wordt een waarde opgehaald die aangeeft of dit exemplaar momenteel is verzegeld (alleen-lezen).

Methoden

Name Description
CheckAccess()

Bepaalt of de aanroepende thread toegang heeft tot dit DispatcherObject.

(Overgenomen van DispatcherObject)
ClearValue(DependencyProperty)

Hiermee wist u de lokale waarde van een eigenschap. De eigenschap die moet worden gewist, wordt opgegeven door een DependencyProperty id.

ClearValue(DependencyPropertyKey)

Hiermee wist u de lokale waarde van een alleen-lezen eigenschap. De eigenschap die moet worden gewist, wordt opgegeven door een DependencyPropertyKey.

CoerceValue(DependencyProperty)

Hiermee wordt de waarde van de opgegeven afhankelijkheidseigenschap gecodeerd. Dit wordt bereikt door een CoerceValueCallback functie aan te roepen die is opgegeven in eigenschapsmetagegevens voor de afhankelijkheidseigenschap, zoals deze bestaat bij het aanroepen DependencyObject.

Equals(Object)

Bepaalt of een opgegeven DependencyObject gelijk is aan de huidige DependencyObject.

GetHashCode()

Hiermee haalt u een hashcode op.DependencyObject

GetLocalValueEnumerator()

Hiermee maakt u een gespecialiseerde enumerator om te bepalen welke afhankelijkheidseigenschappen lokaal waarden hebben ingesteld.DependencyObject

GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
GetValue(DependencyProperty)

Retourneert de huidige effectieve waarde van een afhankelijkheidseigenschap op dit exemplaar van een DependencyObject.

InvalidateProperty(DependencyProperty)

Evalueert de effectieve waarde voor de opgegeven afhankelijkheidseigenschap opnieuw.

MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Aangeroepen wanneer de effectieve waarde van een afhankelijkheidseigenschap op deze DependencyObject eigenschap is bijgewerkt. De specifieke afhankelijkheidseigenschap die is gewijzigd, wordt gerapporteerd in de gebeurtenisgegevens.

ReadLocalValue(DependencyProperty)

Retourneert de lokale waarde van een afhankelijkheidseigenschap, als deze bestaat.

SetCurrentValue(DependencyProperty, Object)

Hiermee stelt u de waarde van een afhankelijkheidseigenschap in zonder de waardebron te wijzigen.

SetValue(DependencyProperty, Object)

Hiermee stelt u de lokale waarde van een afhankelijkheidseigenschap in, die is opgegeven door de id van de afhankelijkheidseigenschap.

SetValue(DependencyPropertyKey, Object)

Hiermee stelt u de lokale waarde van een alleen-lezen afhankelijkheidseigenschap in, die is opgegeven door de DependencyPropertyKey id van de afhankelijkheidseigenschap.

ShouldSerializeProperty(DependencyProperty)

Retourneert een waarde die aangeeft of serialisatieprocessen de waarde voor de opgegeven afhankelijkheidseigenschap moeten serialiseren.

ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)
VerifyAccess()

Hiermee wordt afgedwongen dat de aanroepende thread toegang heeft tot dit DispatcherObject.

(Overgenomen van DispatcherObject)

Van toepassing op

Zie ook