DependencyProperty.RegisterReadOnly Metodo
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.
Registra una proprietà di dipendenza come proprietà di dipendenza di sola lettura.
Overload
RegisterReadOnly(String, Type, Type, PropertyMetadata) |
Registra una proprietà di dipendenza di sola lettura con il tipo e i metadati della proprietà e il tipo di proprietario specificati. |
RegisterReadOnly(String, Type, Type, PropertyMetadata, ValidateValueCallback) |
Registra una proprietà di dipendenza di sola lettura, con il tipo di proprietà, il tipo di proprietario, i metadati della proprietà e un callback di convalida specificati. |
RegisterReadOnly(String, Type, Type, PropertyMetadata)
Registra una proprietà di dipendenza di sola lettura con il tipo e i metadati della proprietà e il tipo di proprietario specificati.
public:
static System::Windows::DependencyPropertyKey ^ RegisterReadOnly(System::String ^ name, Type ^ propertyType, Type ^ ownerType, System::Windows::PropertyMetadata ^ typeMetadata);
public static System.Windows.DependencyPropertyKey RegisterReadOnly (string name, Type propertyType, Type ownerType, System.Windows.PropertyMetadata typeMetadata);
static member RegisterReadOnly : string * Type * Type * System.Windows.PropertyMetadata -> System.Windows.DependencyPropertyKey
Public Shared Function RegisterReadOnly (name As String, propertyType As Type, ownerType As Type, typeMetadata As PropertyMetadata) As DependencyPropertyKey
Parametri
- name
- String
Nome della proprietà di dipendenza da registrare.
- propertyType
- Type
Tipo della proprietà.
- ownerType
- Type
Tipo di proprietario che registra la proprietà di dipendenza.
- typeMetadata
- PropertyMetadata
Metadati della proprietà per la proprietà di dipendenza.
Restituisce
Chiave della proprietà di dipendenza che deve essere usata per impostare il valore di un campo statico di sola lettura nella classe, che viene quindi usata per fare riferimento alla proprietà di dipendenza.
Esempio
Nell'esempio seguente viene registrata una AquariumSize
proprietà di dipendenza come di sola lettura. L'esempio definisce AquariumSizeKey
come chiave interna (in modo che altre classi nell'assembly possano eseguire l'override dei metadati) ed espone l'identificatore della proprietà di dipendenza in base a tale chiave come AquariumSizeProperty
. Viene anche creato un wrapper per AquariumSize
, con solo una funzione di accesso get.
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
Questo metodo restituisce il tipo DependencyPropertyKey, mentre RegisterAttached restituisce il tipo DependencyProperty. In genere, le chiavi che rappresentano proprietà di sola lettura non vengono rese pubbliche, perché le chiavi possono essere usate per impostare il valore della proprietà di dipendenza chiamando SetValue(DependencyPropertyKey, Object). La progettazione della classe influirà sui requisiti, ma in genere è consigliabile limitare l'accesso e la visibilità di qualsiasi DependencyPropertyKey elemento solo a quelle parti del codice necessarie per impostare tale proprietà di dipendenza come parte della logica della classe o dell'applicazione. È inoltre consigliabile esporre un identificatore di proprietà di dipendenza per la proprietà di dipendenza di sola lettura esponendo il valore di DependencyPropertyKey.DependencyProperty come public static readonly
campo nella classe.
Le proprietà di dipendenza di sola lettura sono uno scenario abbastanza tipico sia nell'API esistente che negli scenari di personalizzazione, perché altre funzionalità WPF potrebbero richiedere una proprietà di dipendenza anche se tale proprietà non deve essere impostata dai chiamanti. È possibile usare il valore di una proprietà di dipendenza di sola lettura come base per altre operazioni del sistema di proprietà che accettano una proprietà di dipendenza, ad esempio basando un Trigger oggetto sulla proprietà di dipendenza in uno stile.
Per altre informazioni sulla registrazione delle proprietà di dipendenza, vedere DependencyProperty.
Si applica a
RegisterReadOnly(String, Type, Type, PropertyMetadata, ValidateValueCallback)
Registra una proprietà di dipendenza di sola lettura, con il tipo di proprietà, il tipo di proprietario, i metadati della proprietà e un callback di convalida specificati.
public:
static System::Windows::DependencyPropertyKey ^ RegisterReadOnly(System::String ^ name, Type ^ propertyType, Type ^ ownerType, System::Windows::PropertyMetadata ^ typeMetadata, System::Windows::ValidateValueCallback ^ validateValueCallback);
public static System.Windows.DependencyPropertyKey RegisterReadOnly (string name, Type propertyType, Type ownerType, System.Windows.PropertyMetadata typeMetadata, System.Windows.ValidateValueCallback validateValueCallback);
static member RegisterReadOnly : string * Type * Type * System.Windows.PropertyMetadata * System.Windows.ValidateValueCallback -> System.Windows.DependencyPropertyKey
Public Shared Function RegisterReadOnly (name As String, propertyType As Type, ownerType As Type, typeMetadata As PropertyMetadata, validateValueCallback As ValidateValueCallback) As DependencyPropertyKey
Parametri
- name
- String
Nome della proprietà di dipendenza da registrare.
- propertyType
- Type
Tipo della proprietà.
- ownerType
- Type
Tipo di proprietario che registra la proprietà di dipendenza.
- typeMetadata
- PropertyMetadata
Metadati della proprietà per la proprietà di dipendenza.
- validateValueCallback
- ValidateValueCallback
Riferimento a un callback creato dall'utente che deve eseguire qualsiasi convalida personalizzata del valore della proprietà di dipendenza oltre la normale convalida del tipo.
Restituisce
Chiave della proprietà di dipendenza che deve essere usata per impostare il valore di un campo statico di sola lettura nella classe, che viene quindi usata per fare riferimento alla proprietà di dipendenza in un secondo momento.
Commenti
Questo metodo restituisce il tipo DependencyPropertyKey, mentre RegisterAttached restituisce il tipo DependencyProperty. In genere, le chiavi che rappresentano proprietà di sola lettura non vengono rese pubbliche, perché le chiavi possono essere usate per impostare il valore della proprietà di dipendenza chiamando SetValue(DependencyPropertyKey, Object). La progettazione della classe influirà sui requisiti, ma in genere è consigliabile limitare l'accesso e la visibilità di qualsiasi DependencyPropertyKey elemento solo a quelle parti del codice necessarie per impostare tale proprietà di dipendenza come parte della logica della classe o dell'applicazione. È inoltre consigliabile esporre un identificatore di proprietà di dipendenza per la proprietà di dipendenza di sola lettura esponendo il valore di DependencyPropertyKey.DependencyProperty come public static readonly
campo nella classe.
Le proprietà di dipendenza di sola lettura sono uno scenario piuttosto tipico. È possibile usare il valore di una proprietà di dipendenza di sola lettura come base per altre operazioni del sistema di proprietà che accettano una proprietà di dipendenza, ad esempio basando un Trigger oggetto sulla proprietà di dipendenza in uno stile.
Per altre informazioni sulla registrazione delle proprietà di dipendenza, vedere DependencyProperty.
La convalida in una proprietà di dipendenza di sola lettura potrebbe essere meno importante. Il livello di accesso non pubblico specificato per la chiave riduce la probabilità di input arbitrario non valido.