DependencyProperty.AddOwner 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.
Aggiunge un altro tipo come proprietario di una proprietà di dipendenza che è già stata registrata in un tipo.
Overload
AddOwner(Type) |
Aggiunge un altro tipo come proprietario di una proprietà di dipendenza che è già stata registrata. |
AddOwner(Type, PropertyMetadata) |
Aggiunge un altro tipo come proprietario di una proprietà di dipendenza già registrata, fornendo i metadati della proprietà di dipendenza nello stato attuale per il tipo di proprietario specificato. |
AddOwner(Type)
Aggiunge un altro tipo come proprietario di una proprietà di dipendenza che è già stata registrata.
public:
System::Windows::DependencyProperty ^ AddOwner(Type ^ ownerType);
public System.Windows.DependencyProperty AddOwner (Type ownerType);
member this.AddOwner : Type -> System.Windows.DependencyProperty
Public Function AddOwner (ownerType As Type) As DependencyProperty
Parametri
- ownerType
- Type
Tipo da aggiungere come proprietario della proprietà di dipendenza.
Restituisce
Riferimento all'identificatore DependencyProperty originale che identifica la proprietà di dipendenza. Questo identificatore deve essere esposto dalla classe di aggiunta come campo public static readonly
.
Commenti
Questo metodo consente al sistema delle proprietà di riconoscere una proprietà di dipendenza su un tipo che non registra inizialmente tale particolare proprietà di dipendenza.
In genere, AddOwner viene usato per aggiungere proprietà di dipendenza alle classi che non espongono già tale proprietà di dipendenza tramite l'ereditarietà della classe gestita (l'ereditarietà della classe potrebbe causare l'ereditarietà del wrapper ereditata dalla classe derivata e quindi fornirebbe già l'accesso alla proprietà di dipendenza). AddOwner consente al sistema delle proprietà di riconoscere una proprietà di dipendenza in un tipo che non ha registrato inizialmente la proprietà di dipendenza.
Questa firma non consente di specificare i metadati. Quando si usa questo metodo, i metadati vengono generati automaticamente per il nuovo DependencyProperty e il relativo tipo di proprietario. I metadati generati automaticamente sono il risultato dei metadati uniti da tutti i tipi di base che hanno questa proprietà definita. Se non sono disponibili metadati uniti, vengono usati i metadati predefiniti per la proprietà. Se la proprietà viene registrata usando il RegisterAttached metodo, i metadati predefiniti sono uguali ai metadati creati quando RegisterAttached è stato chiamato. In caso contrario, l'oggetto PropertyMetadata viene creato con la DefaultValue proprietà impostata sul tipo di proprietà predefinito e tutte le altre proprietà dell'oggetto PropertyMetadata sono impostate su null
. Usare la AddOwner(Type, PropertyMetadata) firma se si desidera specificare i metadati per la versione della proprietà di dipendenza, come aggiunto al tipo specificato.
Il valore restituito di questo metodo viene in genere usato per dichiarare ed esporre la proprietà di dipendenza archiviando un identificatore di proprietà di dipendenza. L'identificatore fornisce l'accesso alla proprietà di dipendenza se si desidera chiamare le API del sistema delle proprietà rispetto alla proprietà di dipendenza, in particolare quando esiste nella classe di proprietario aggiunta. Lo stesso nome di proprietà per il proprietario originale e il proprietario aggiunto deve essere usato per indicare la funzionalità simile. È necessario usare il valore restituito del metodo per definire l'identificatore DependencyProperty della proprietà di dipendenza e anche per dichiarare i wrapper delle AddOwner proprietà CLR, per le proprietà di dipendenza aggiunte ai tipi usando AddOwner.
La AddOwner metodologia consigliata in precedenza viene usata quando si creano le proprietà di dipendenza dichiarate all'interno di WPF. Ad esempio, entrambi Border e Control definiscono una BorderBrush
proprietà di dipendenza, che hanno funzionalità simili.
Control definisce la relativa BorderBrush
proprietà al sistema delle proprietà chiamando AddOwner in base al proprietario Border originale e al relativo identifero della proprietà di dipendenza registrata BorderBrushProperty . Il AddOwner valore restituito viene quindi usato per stabilire un nuovo campo statico DependencyProperty (BorderBrushProperty) per tale proprietà nel proprietario aggiunto e viene dichiarato anche un BorderBrush
wrapper di proprietà.
Si applica a
AddOwner(Type, PropertyMetadata)
Aggiunge un altro tipo come proprietario di una proprietà di dipendenza già registrata, fornendo i metadati della proprietà di dipendenza nello stato attuale per il tipo di proprietario specificato.
public:
System::Windows::DependencyProperty ^ AddOwner(Type ^ ownerType, System::Windows::PropertyMetadata ^ typeMetadata);
public System.Windows.DependencyProperty AddOwner (Type ownerType, System.Windows.PropertyMetadata typeMetadata);
member this.AddOwner : Type * System.Windows.PropertyMetadata -> System.Windows.DependencyProperty
Public Function AddOwner (ownerType As Type, typeMetadata As PropertyMetadata) As DependencyProperty
Parametri
- ownerType
- Type
Tipo da aggiungere come proprietario della proprietà di dipendenza.
- typeMetadata
- PropertyMetadata
Metadati che qualificano la proprietà di dipendenza nello stato attuale per il tipo specificato.
Restituisce
Riferimento all'identificatore DependencyProperty originale che identifica la proprietà di dipendenza. Questo identificatore deve essere esposto dalla classe di aggiunta come campo public static readonly
.
Commenti
Questo metodo consente al sistema delle proprietà di riconoscere una proprietà di dipendenza su un tipo che non registra inizialmente tale particolare proprietà di dipendenza.
Il valore restituito di questo metodo viene usato per dichiarare ed esporre la proprietà di dipendenza, in particolare perché esiste nella classe proprietario aggiunta. In genere, lo stesso nome della proprietà per il proprietario originale e il proprietario aggiunto devono essere usati per indicare la funzionalità simile. È consigliabile esporre gli identificatori, nonché i nuovi wrapper delle proprietà CLR, per le proprietà di dipendenza aggiunte ai tipi usando AddOwner.
La AddOwner metodologia consigliata in precedenza viene usata durante la creazione di API dichiarate all'interno di WPF. Ad esempio, entrambi Border e Control definiscono una BorderBrush
proprietà di dipendenza, che hanno funzionalità simili.
Control definisce la relativa BorderBrush
proprietà al sistema delle proprietà chiamando AddOwner il proprietario Border originale e il relativo identifero della proprietà di dipendenza registrata BorderBrushProperty . Il AddOwner valore restituito viene quindi usato per stabilire un campo statico DependencyProperty (BorderBrushProperty) per tale proprietà nel proprietario aggiunto e viene dichiarato anche un BorderBrush
wrapper di proprietà.
L'identificatore della proprietà di dipendenza del proprietario aggiunto deve essere usato per operazioni come GetValue. Tuttavia, le operazioni specifiche del tipo che coinvolgono tipi o istanze della classe aggiunta come proprietario con metadati diversi restituiranno comunque i risultati previsti. Questo valore è true anche se l'identificatore della proprietà di dipendenza del proprietario aggiunto (non il proprietario aggiunto) viene specificato nelle chiamate a metodi come GetValue o GetMetadata. I metadati per il AddOwner proprietario aggiunto vengono perpetuati dalla chiamata stessa, non necessariamente a cui fa riferimento esclusivamente il campo dell'identificatore della classe proprietario. Tuttavia, è consigliabile esporre l'identificatore, nonché i nuovi wrapper delle proprietà CLR, per le proprietà di dipendenza aggiunte ai tipi usando AddOwner, perché non riesce a creare la disparità tra le rappresentazioni CLR e XAML delle proprietà.
I metadati forniti vengono uniti ai metadati delle proprietà per la proprietà di dipendenza in quanto esiste nel proprietario di base. Tutte le caratteristiche specificate nei metadati di base originali verranno mantenute. Solo queste caratteristiche modificate in modo specifico nei nuovi metadati sostituiranno le caratteristiche dei metadati di base. Alcune caratteristiche, ad esempio DefaultValue, vengono sostituite se specificate nei nuovi metadati. Altri, ad esempio PropertyChangedCallback, sono combinati. In definitiva, il comportamento di merge dipende dal tipo di metadati delle proprietà usato per l'override, pertanto il comportamento descritto di seguito è relativo alle classi di metadati delle proprietà esistenti usate dalle proprietà di dipendenza WPF. Per informazioni dettagliate, vedere Metadati delle proprietà di dipendenza e metadati delle proprietà Framework.