DependencyObject Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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
- 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) |