DependencyProperty.RegisterAttachedReadOnly Metodo

Definizione

Registra un proprietà associata di sola lettura.

Overload

RegisterAttachedReadOnly(String, Type, Type, PropertyMetadata)

Registra una proprietà associata di sola lettura con il tipo e i metadati della proprietà e il tipo di proprietario specificati.

RegisterAttachedReadOnly(String, Type, Type, PropertyMetadata, ValidateValueCallback)

Registra una proprietà associata di sola lettura, con il tipo della proprietà, il tipo del proprietario, i metadati della proprietà e un callback di convalida specificati.

RegisterAttachedReadOnly(String, Type, Type, PropertyMetadata)

Registra una proprietà associata di sola lettura con il tipo e i metadati della proprietà e il tipo di proprietario specificati.

public:
 static System::Windows::DependencyPropertyKey ^ RegisterAttachedReadOnly(System::String ^ name, Type ^ propertyType, Type ^ ownerType, System::Windows::PropertyMetadata ^ defaultMetadata);
public static System.Windows.DependencyPropertyKey RegisterAttachedReadOnly (string name, Type propertyType, Type ownerType, System.Windows.PropertyMetadata defaultMetadata);
static member RegisterAttachedReadOnly : string * Type * Type * System.Windows.PropertyMetadata -> System.Windows.DependencyPropertyKey
Public Shared Function RegisterAttachedReadOnly (name As String, propertyType As Type, ownerType As Type, defaultMetadata 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.

defaultMetadata
PropertyMetadata

Metadati della proprietà per la proprietà di dipendenza.

Restituisce

DependencyPropertyKey

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 influisce sui requisiti, ma in genere è consigliabile limitare l'accesso e la visibilità di qualsiasi DependencyPropertyKey a tutte le parti del codice necessarie per impostare tale proprietà di dipendenza come parte della logica di classe o dell'applicazione. È anche 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à associate di sola lettura sono uno scenario raro, perché lo scenario primario per una proprietà associata è il relativo uso in XAML. Senza un setter pubblico, non è possibile impostare una proprietà associata nella sintassi XAML.

Per altre informazioni sulla registrazione delle proprietà di dipendenza, vedere DependencyProperty.

Usare RegisterAttached per le proprietà di dipendenza ereditate da valore

Uno scenario specifico per la registrazione di una proprietà di dipendenza come allegato consiste nel supportare l'ereditarietà del valore della proprietà. È consigliabile registrare le proprietà di dipendenza ereditate dal valore con RegisterAttached anche se la classe definisce le funzioni di accesso wrapper delle proprietà che espongono la proprietà di dipendenza e anche se non si intende esporre i metodi statici Get* e Set* per fornire le funzioni di accesso di supporto delle proprietà associate true. Anche se l'ereditarietà del valore della proprietà potrebbe funzionare per le proprietà di dipendenza non attaccate, il comportamento di ereditarietà per una proprietà non attaccata tramite determinati limiti di elemento nell'albero di runtime non è definito. La registrazione della proprietà come associata rende effettivamente la proprietà associata una proprietà globale al sistema delle proprietà e assicura che l'ereditarietà del valore della proprietà funzioni su tutti i limiti in un albero di elementi. Usare RegisterAttached sempre per registrare le proprietà in cui si specificano Inherits i metadati. Per altre informazioni, vedere Ereditarietà del valore della proprietà.

Si applica a

RegisterAttachedReadOnly(String, Type, Type, PropertyMetadata, ValidateValueCallback)

Registra una proprietà associata di sola lettura, con il tipo della proprietà, il tipo del proprietario, i metadati della proprietà e un callback di convalida specificati.

public:
 static System::Windows::DependencyPropertyKey ^ RegisterAttachedReadOnly(System::String ^ name, Type ^ propertyType, Type ^ ownerType, System::Windows::PropertyMetadata ^ defaultMetadata, System::Windows::ValidateValueCallback ^ validateValueCallback);
public static System.Windows.DependencyPropertyKey RegisterAttachedReadOnly (string name, Type propertyType, Type ownerType, System.Windows.PropertyMetadata defaultMetadata, System.Windows.ValidateValueCallback validateValueCallback);
static member RegisterAttachedReadOnly : string * Type * Type * System.Windows.PropertyMetadata * System.Windows.ValidateValueCallback -> System.Windows.DependencyPropertyKey
Public Shared Function RegisterAttachedReadOnly (name As String, propertyType As Type, ownerType As Type, defaultMetadata 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.

defaultMetadata
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

DependencyPropertyKey

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.

Commenti

Questo metodo restituisce il tipo , mentre RegisterAttached restituisce il tipo .DependencyPropertyKeyDependencyProperty In genere, le chiavi che rappresentano 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 influisce sui requisiti, ma in genere è consigliabile limitare l'accesso e la visibilità di qualsiasi DependencyPropertyKey a tutte le parti del codice necessarie per impostare tale proprietà di dipendenza come parte della logica di classe o dell'applicazione. È anche 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à associate di sola lettura sono uno scenario raro, perché lo scenario primario per una proprietà associata è il relativo uso in XAML. Senza un setter pubblico, non è possibile impostare una proprietà associata nella sintassi XAML.

Per altre informazioni sulla registrazione delle proprietà di dipendenza, vedere DependencyProperty.

Usare RegisterAttached per le proprietà di dipendenza ereditate da valore

Uno scenario specifico per la registrazione di una proprietà di Register dipendenza come collegato anziché per supportare l'ereditarietà del valore della proprietà. È consigliabile registrare le proprietà di dipendenza ereditate dal valore con RegisterAttached anche se la classe definisce le funzioni di accesso wrapper delle proprietà che espongono la proprietà di dipendenza e anche se non si intende esporre i metodi statici Get* e Set* per fornire le funzioni di accesso di supporto delle proprietà associate true. Anche se l'ereditarietà del valore della proprietà potrebbe funzionare per le proprietà di dipendenza non attaccate, il comportamento di ereditarietà per una proprietà non attaccata tramite determinati limiti di elemento nell'albero di runtime non è definito. La registrazione della proprietà come associata rende effettivamente la proprietà associata una proprietà globale al sistema delle proprietà e assicura che l'ereditarietà del valore della proprietà funzioni su tutti i limiti in un albero di elementi. Usare RegisterAttached sempre per registrare le proprietà in cui si specificano Inherits i metadati. Per altre informazioni, vedere Ereditarietà del valore della proprietà.

Si applica a