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 già registrata in un tipo.
Overload
| Nome | Descrizione |
|---|---|
| AddOwner(Type) |
Aggiunge un altro tipo come proprietario di una proprietà di dipendenza già registrata. |
| AddOwner(Type, PropertyMetadata) |
Aggiunge un altro tipo come proprietario di una proprietà di dipendenza già registrata, fornendo i metadati della proprietà di dipendenza per la proprietà di dipendenza così come esiste nel tipo di proprietario specificato. |
AddOwner(Type)
Aggiunge un altro tipo come proprietario di una proprietà di dipendenza già 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 di questa proprietà di dipendenza.
Restituisce
Riferimento all'identificatore originale DependencyProperty che identifica la proprietà di dipendenza. Questo identificatore deve essere esposto dalla classe di aggiunta come public static readonly campo.
Commenti
Questo metodo consente al sistema di proprietà di riconoscere inizialmente una proprietà di dipendenza su un tipo che non ha registrato 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 causerebbe l'ereditarietà del wrapper ereditata dalla classe derivata e quindi fornirebbe già l'accesso alla proprietà di dipendenza ai membri generali). AddOwner consente al sistema di proprietà di riconoscere inizialmente una proprietà di dipendenza in un tipo che non ha registrato 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 con 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 gli stessi dei metadati creati al momento RegisterAttached della chiamata. In caso contrario, l'oggetto PropertyMetadata viene creato con la DefaultValue proprietà impostata sul valore predefinito del tipo di proprietà e tutte le altre proprietà di PropertyMetadata è impostata su null. Usare la AddOwner(Type, PropertyMetadata) firma se si desidera fornire metadati per la versione della proprietà di dipendenza come aggiunta 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 di proprietà sulla proprietà di dipendenza, in particolare quando esiste nella classe proprietario aggiunta. Lo stesso nome di proprietà per il proprietario originale e il proprietario aggiunto deve essere usato per indicare la funzionalità simile. È consigliabile usare il DependencyProperty valore restituito del AddOwner metodo per definire l'identificatore della proprietà di dipendenza e anche per dichiarare wrapper di proprietà CLR, per le proprietà di dipendenza aggiunte ai tipi tramite AddOwner.
La AddOwner metodologia consigliata in precedenza viene usata quando si creano le proprietà di dipendenza dichiarate all'interno di WPF. Ad esempio, sia Border che Control definiscono una BorderBrush proprietà di dipendenza, che hanno funzionalità simili.
Control definisce la relativa BorderBrush proprietà al sistema di proprietà chiamando AddOwner in base al proprietario Border originale e all'identificatore della proprietà di dipendenza registrata BorderBrushProperty . Il AddOwner valore restituito viene quindi utilizzato 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 per la proprietà di dipendenza così come esiste nel 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 di questa proprietà di dipendenza.
- typeMetadata
- PropertyMetadata
Metadati che qualificano la proprietà di dipendenza come esiste nel tipo specificato.
Restituisce
Riferimento all'identificatore originale DependencyProperty che identifica la proprietà di dipendenza. Questo identificatore deve essere esposto dalla classe di aggiunta come public static readonly campo.
Commenti
Questo metodo consente al sistema di proprietà di riconoscere inizialmente una proprietà di dipendenza su un tipo che non ha registrato 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 di proprietà per il proprietario originale e il proprietario aggiunto deve essere usato 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 in WPF. Ad esempio, sia Border che Control definiscono una BorderBrush proprietà di dipendenza, che hanno funzionalità simili.
Control definisce la relativa BorderBrush proprietà al sistema di proprietà chiamando AddOwner il proprietario Border originale e l'identificatore 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 vale anche se l'identificatore della proprietà di dipendenza originale (non del proprietario aggiunto) viene specificato nelle chiamate a metodi come GetValue o GetMetadata. I metadati per il proprietario aggiunto vengono perpetuati dalla AddOwner chiamata stessa, non necessariamente a cui fa riferimento esclusivamente il campo dell'identificatore di classe proprietario. Tuttavia, è consigliabile esporre l'identificatore, nonché i nuovi wrapper di proprietà CLR, per le proprietà di dipendenza aggiunte ai tipi usando AddOwner, perché in caso contrario, crea disparità tra CLR e le rappresentazioni XAML delle proprietà.
I metadati forniti vengono uniti ai metadati della proprietà per la proprietà di dipendenza così come esistono nel proprietario di base. Tutte le caratteristiche specificate nei metadati di base originali verranno mantenute. Solo le 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, vengono combinati. In definitiva, il comportamento di merge dipende dal tipo di metadati della proprietà usato per l'override, quindi 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à del framework.