DependencyPropertyKey.DependencyProperty Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Ottiene l'identificatore della proprietà di dipendenza associato a questo identificatore specializzato della proprietà di dipendenza di sola lettura.
public:
property System::Windows::DependencyProperty ^ DependencyProperty { System::Windows::DependencyProperty ^ get(); };
public System.Windows.DependencyProperty DependencyProperty { get; }
member this.DependencyProperty : System.Windows.DependencyProperty
Public ReadOnly Property DependencyProperty As DependencyProperty
Valore della proprietà
Identificatore della proprietà di dipendenza pertinente.
Esempio
Nell'esempio seguente viene chiamato DependencyProperty per esporre l'identificatore di DependencyProperty (AquariumGraphicProperty
) per la proprietà di dipendenza AquariumGraphic
di sola lettura in una classe . L'esempio mostra anche la creazione DependencyPropertyKey (come membro interno) e la funzione di accesso get per AquariumGraphic
.
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
Commenti
Il valore DependencyProperty consente all'identificatore di una proprietà di sola lettura di partecipare alle operazioni comuni del sistema di proprietà usando alcune delle stesse interfacce usate per le proprietà di dipendenza di lettura/scrittura.
Per implementare la funzione di accesso alla proprietà get per una proprietà di dipendenza di sola lettura, è necessario creare ed esporre un identificatore DependencyProperty nella classe. Questo serve due scopi:
La propria classe richiede l'identificatore DependencyProperty per implementare la funzione di accesso get per il wrapper della proprietà. Usare il DependencyProperty come parametro per la chiamata GetValue che implementa la funzione di accesso get.
DependencyProperty identificatori espongono la proprietà di dipendenza al sistema di proprietà in modo che altri metodi che si basano sui metadati possano accedervi in un modulo standard. Ad esempio, se è stato chiamato GetLocalValueEnumerator in alcuni DependencyObject ed è stata ottenuta un'enumerazione di proprietà del set locale (valori e identificatori), l'identificatore restituito per una proprietà di dipendenza di sola lettura sarà il valore DependencyProperty anziché la chiave. L'esposizione di un identificatore di DependencyProperty non aumenta in alcun modo la sicurezza della proprietà di dipendenza di sola lettura, ma solo operazioni che coinvolgono la proprietà più scomoda sia per le classi derivate successive che per le istanze di classe.
Per esporre l'identificatore DependencyProperty nella classe, chiamare DependencyProperty direttamente sulla chiave. Usare questo valore per creare un identificatore di public static readonly
DependencyProperty nella classe , che paralleli all'DependencyPropertyKey.