DependencyPropertyKey Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Tillhandahåller en beroendeegenskapsidentifierare för begränsad skrivåtkomst till en skrivskyddad beroendeegenskap.
public ref class DependencyPropertyKey sealed
public sealed class DependencyPropertyKey
type DependencyPropertyKey = class
Public NotInheritable Class DependencyPropertyKey
- Arv
-
DependencyPropertyKey
Exempel
I följande exempel registreras en skrivskyddad beroendeegenskap och nyckeln används även för två syften i andra klassmedlemmar: implementera get "wrapper" och som identifierare för en skyddad bestämningsåtgärd som anger värdet baserat på beräkningar av andra egenskapsvärden.
internal static readonly DependencyPropertyKey AquariumSizeKey = DependencyProperty.RegisterReadOnly(
"AquariumSize",
typeof(double),
typeof(Aquarium),
new PropertyMetadata(double.NaN)
);
public static readonly DependencyProperty AquariumSizeProperty =
AquariumSizeKey.DependencyProperty;
public double AquariumSize
{
get { return (double)GetValue(AquariumSizeProperty); }
}
Friend Shared ReadOnly AquariumSizeKey As DependencyPropertyKey = DependencyProperty.RegisterReadOnly("AquariumSize", GetType(Double), GetType(Aquarium), New PropertyMetadata(Double.NaN))
Public Shared ReadOnly AquariumSizeProperty As DependencyProperty = AquariumSizeKey.DependencyProperty
Public ReadOnly Property AquariumSize() As Double
Get
Return CDbl(GetValue(AquariumSizeProperty))
End Get
End Property
Kommentarer
DependencyPropertyKey instanser hämtas som returvärdet för ett registreringsanrop för beroendeegenskap med hjälp av metoderna RegisterReadOnly eller RegisterAttachedReadOnly.
De typer som registrerar en beroendeegenskap kan använda DependencyPropertyKey i -anrop till SetValue och ClearValue som justerar egenskapens värde som en del av klasslogik. Om det tillåts av åtkomstnivån för nyckeln kan relaterade klasser även använda nyckeln och beroendeegenskapen. Du kan till exempel deklarera nyckeln som intern, och andra typer i samma sammansättning kan också ange den beroendeegenskapen.
Den DependencyPropertyKey som returneras av skrivskyddad beroendeegenskapsregistrering bör inte offentliggöras, eftersom om nyckeln exponeras blir det möjligt att ange egenskapen, vilket gör det enklare att registrera den som en skrivskyddad beroendeegenskap. Att exponera nyckeln orsakar också en matchningsfel mellan de tillgängliga beteendena för beroendeegenskap och dess clr-egenskapsomslutningsimplementeringar (Common Language Runtime), vilket är dålig klassdesign.
I stället för att exponera själva nyckeln bör du i stället exponera DependencyProperty värdet DependencyPropertyKey för som en public static readonlyDependencyProperty på din klass. Detta gör att egenskapen kan returnera en giltig beroendeegenskapsidentifierare för vissa egenskapssystemåtgärder, till exempel uppräkning av lokalt angivna värden. Den identifierare som erhålls har dock inte de fullständiga funktionerna i en DependencyProperty för många egenskapssystemåtgärder.
Egenskaper
| Name | Description |
|---|---|
| DependencyProperty |
Hämtar beroendeegenskapsidentifieraren som är associerad med den här specialiserade skrivskyddade beroendeegenskapsidentifieraren. |
Metoder
| Name | Description |
|---|---|
| Equals(Object) |
Avgör om det angivna objektet är lika med det aktuella objektet. (Ärvd från Object) |
| GetHashCode() |
Fungerar som standard-hash-funktion. (Ärvd från Object) |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| OverrideMetadata(Type, PropertyMetadata) |
Åsidosätter metadata för en skrivskyddad beroendeegenskap som representeras av den här beroendeegenskapsidentifieraren. |
| ToString() |
Returnerar en sträng som representerar det aktuella objektet. (Ärvd från Object) |