DependencyProperty.AddOwner Metodo

Definizione

Aggiunge un altro tipo come proprietario di una proprietà di dipendenza che è già stata registrata in un tipo.Adds another type as an owner of a dependency property that has already been registered to a type.

Overload

AddOwner(Type)

Aggiunge un altro tipo come proprietario di una proprietà di dipendenza che è già stata registrata.Adds another type as an owner of a dependency property that has already been registered.

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.Adds another type as an owner of a dependency property that has already been registered, providing dependency property metadata for the dependency property as it will exist on the provided owner type.

AddOwner(Type)

Aggiunge un altro tipo come proprietario di una proprietà di dipendenza che è già stata registrata.Adds another type as an owner of a dependency property that has already been registered.

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.The type to add as an owner of this dependency property.

Restituisce

DependencyProperty

Riferimento all'identificatore DependencyProperty originale che identifica la proprietà di dipendenza.A reference to the original DependencyProperty identifier that identifies the dependency property. Questo identificatore deve essere esposto dalla classe di aggiunta come campo public static readonly.This identifier should be exposed by the adding class as a public static readonly field.

Commenti

Questo metodo consente al sistema di proprietà di riconoscere inizialmente una proprietà di dipendenza in un tipo che non ha registrato la particolare proprietà di dipendenza.This method enables the property system to recognize a dependency property on a type that did not register that particular dependency property initially.

In genere, AddOwner viene usato per aggiungere proprietà di dipendenza a classi che non espongono la proprietà di dipendenza tramite l'ereditarietà della classe gestita (l'ereditarietà delle classi provocherebbe l'ereditarietà delle proprietà del wrapper dalla classe derivata e pertanto fornirebbe ai membri generali l'accesso alla proprietà di dipendenza già).Typically, AddOwner is used to add dependency properties to classes that do not already expose that dependency property through managed class inheritance (class inheritance would cause the wrapper properties to be inherited by the derived class, and thus would provide general members-table access to the dependency property already). AddOwner consente al sistema di proprietà di riconoscere inizialmente una proprietà di dipendenza in un tipo che non ha registrato la proprietà di dipendenza.AddOwner enables the property system to recognize a dependency property on a type that did not register that dependency property initially.

Questa firma non consente di specificare i metadati.This signature does not allow for specifying metadata. Quando si usa questo metodo, i metadati vengono generati automaticamente per il nuovo DependencyProperty e il tipo di proprietario.When you use this method, the metadata is automatically generated for the new DependencyProperty and its owner type. I metadati generati automaticamente sono il risultato dei metadati Uniti da tutti i tipi di base con questa proprietà definita.The auto-generated metadata is the result of the merged metadata from all of the base types that have this property defined. Se non sono disponibili metadati Uniti, verranno usati i metadati predefiniti per la proprietà.If no merged metadata is available, then the default metadata for the property is used. Se la proprietà viene registrata utilizzando il metodo RegisterAttached, i metadati predefiniti corrispondono ai metadati creati al momento della chiamata di RegisterAttached.If the property is registered by using the RegisterAttached method, then the default metadata is the same as the metadata that is created when RegisterAttached was called. In caso contrario, l'oggetto PropertyMetadata viene creato con la proprietà DefaultValue impostata sul valore predefinito del tipo di proprietà e tutte le altre proprietà del PropertyMetadata sono impostate su null.Otherwise, the PropertyMetadata object is created with the DefaultValue property set to the property type's default and all other properties of the PropertyMetadata is set to null. Utilizzare la firma AddOwner(Type, PropertyMetadata) se si desidera fornire metadati per la versione della proprietà di dipendenza aggiunta al tipo fornito.Use the AddOwner(Type, PropertyMetadata) signature if you want to provide metadata for the version of the dependency property as added to the provided type.

Il valore restituito di questo metodo viene in genere utilizzato per dichiarare ed esporre la proprietà di dipendenza archiviando un identificatore della proprietà di dipendenza.The return value of this method is typically used to declare and expose the dependency property by storing a dependency property identifier. L'identificatore fornisce accesso alla proprietà di dipendenza se si desidera chiamare le API del sistema di proprietà rispetto alla proprietà di dipendenza, in particolare perché esiste nella classe di aggiunta del proprietario.The identifier provides access to the dependency property if you want to call property system APIs against the dependency property, particularly as it exists on the adding owner class. È necessario usare lo stesso nome di proprietà sia per il proprietario originale che per il proprietario aggiunto per indicare la funzionalità simile.The same property name for both original owner and added owner should be used to indicate the similar functionality. È necessario utilizzare il DependencyProperty valore restituito del metodo AddOwner per definire l'identificatore della proprietà di dipendenza e anche per dichiarare CLRCLR wrapper della proprietà, per le proprietà di dipendenza aggiunte ai tipi utilizzando AddOwner.You should use the DependencyProperty return value of the AddOwner method to define the dependency property identifier, and also to declare CLRCLR property wrappers, for dependency properties that are added to types using AddOwner.

La metodologia AddOwner consigliata in precedenza viene utilizzata per la creazione delle proprietà di dipendenza dichiarate all'interno WPFWPF.The AddOwner methodology recommended above is used when creating the dependency properties that are declared within WPFWPF. Ad esempio, sia Border che Control definiscono una proprietà di dipendenza BorderBrush con funzionalità simili.For instance, both Border and Control define a BorderBrush dependency property, which have similar functionality. Control definisce la relativa proprietà BorderBrush al sistema di proprietà chiamando AddOwner in base al Border del proprietario originale e alla proprietà di dipendenza BorderBrushProperty registrata identificatore.Control defines its BorderBrush property to the property system by calling AddOwner based on the original owner Border and its registered BorderBrushProperty dependency property identifer. Il valore restituito AddOwner viene quindi utilizzato per stabilire un nuovo campo di DependencyProperty statico (BorderBrushProperty) per la proprietà sul proprietario aggiunto e viene dichiarato anche un wrapper della proprietà BorderBrush.The AddOwner return value is then used to establish a new static DependencyProperty field (BorderBrushProperty) for that property on the added owner, and a BorderBrush property wrapper is also declared.

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.Adds another type as an owner of a dependency property that has already been registered, providing dependency property metadata for the dependency property as it will exist on the provided owner type.

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.The type to add as owner of this dependency property.

typeMetadata
PropertyMetadata

Metadati che qualificano la proprietà di dipendenza nello stato attuale per il tipo specificato.The metadata that qualifies the dependency property as it exists on the provided type.

Restituisce

DependencyProperty

Riferimento all'identificatore DependencyProperty originale che identifica la proprietà di dipendenza.A reference to the original DependencyProperty identifier that identifies the dependency property. Questo identificatore deve essere esposto dalla classe di aggiunta come campo public static readonly.This identifier should be exposed by the adding class as a public static readonly field.

Commenti

Questo metodo consente al sistema di proprietà di riconoscere inizialmente una proprietà di dipendenza in un tipo che non ha registrato la particolare proprietà di dipendenza.This method enables the property system to recognize a dependency property on a type that did not register that particular dependency property initially.

Il valore restituito di questo metodo viene usato per dichiarare ed esporre la proprietà di dipendenza, in particolare perché esiste nella classe di aggiunta del proprietario.The return value of this method is used to declare and expose the dependency property, particularly as it exists on the adding owner class. In genere, è necessario usare lo stesso nome di proprietà sia per il proprietario originale che per il proprietario aggiunto per indicare la funzionalità simile.Generally, the same property name for both original owner and added owner should be used to indicate the similar functionality. È consigliabile esporre gli identificatori, oltre ai nuovi wrapper di proprietà CLRCLR, per le proprietà di dipendenza aggiunte ai tipi utilizzando AddOwner.It is good practice to expose the identifiers, as well as new CLRCLR property wrappers, for dependency properties that are added to types using AddOwner.

La metodologia AddOwner consigliata sopra viene usata quando si creano API dichiarate all'interno WPFWPF.The AddOwner methodology recommended above is used when creating APIs declared within WPFWPF. Ad esempio, sia Border che Control definiscono una proprietà di dipendenza BorderBrush con funzionalità simili.For instance, both Border and Control define a BorderBrush dependency property, which have similar functionality. Control definisce la relativa proprietà BorderBrush al sistema di proprietà chiamando AddOwner sul Border proprietario originale e la relativa proprietà di dipendenza BorderBrushProperty registrata identificatore.Control defines its BorderBrush property to the property system by calling AddOwner on original owner Border and its registered BorderBrushProperty dependency property identifer. Il valore restituito AddOwner viene quindi utilizzato per stabilire un campo di DependencyProperty statico (BorderBrushProperty) per la proprietà sul proprietario aggiunto e viene dichiarato anche un wrapper della proprietà BorderBrush.The AddOwner return value is then used to establish a static DependencyProperty field (BorderBrushProperty) for that property on the added owner, and a BorderBrush property wrapper is also declared.

L'identificatore della proprietà di dipendenza del proprietario aggiunto deve essere utilizzato per operazioni quali GetValue.The added owner's dependency property identifier should be used for operations such as GetValue. Tuttavia, le operazioni specifiche del tipo che coinvolgono i tipi o le istanze della classe che è stato aggiunto come proprietario con metadati diversi restituiranno comunque i risultati previsti anche se l'identificatore della proprietà di dipendenza originale (non quello del proprietario aggiunto) viene specificato nelle chiamate a metodi quali GetValue o GetMetadata.However, type-specific operations involving either types or instances of the class that was added as owner with different metadata will still return the expected results even if the original (not the added owner's) dependency property identifier is specified in calls to methods such as GetValue or GetMetadata. I metadati per il proprietario aggiunto vengono perpetuati dalla chiamata AddOwner stessa, non necessariamente a cui viene fatto riferimento esclusivamente dal campo dell'identificatore di classe del proprietario.The metadata for the added owner is perpetuated by the AddOwner call itself, not necessarily referenced exclusively by the adding owner class identifier field. Tuttavia, è consigliabile esporre l'identificatore, oltre ai nuovi wrapper della proprietà CLRCLR, per le proprietà di dipendenza che vengono aggiunte ai tipi utilizzando AddOwner, perché in caso contrario, viene creata una disparità tra le rappresentazioni CLRCLR e XAMLXAML delle proprietà.Nevertheless, it is good practice to expose the identifier, as well as new CLRCLR property wrappers, for dependency properties that are added to types using AddOwner, because failing to do so creates disparity between the CLRCLR and XAMLXAML representations of your properties.

I metadati forniti vengono uniti con i metadati della proprietà per la proprietà di dipendenza esistente nel proprietario di base.The supplied metadata is merged with the property metadata for the dependency property as it exists on the base owner. Tutte le caratteristiche specificate nei metadati di base originali vengono mantenute.Any characteristics that were specified in the original base metadata will persist. Solo le caratteristiche modificate in modo specifico nei nuovi metadati sostituiranno le caratteristiche dei metadati di base.Only those characteristics that were specifically changed in the new metadata will override the characteristics of the base metadata. Alcune caratteristiche, ad esempio DefaultValue, vengono sostituite se vengono specificate nei nuovi metadati.Some characteristics, such as DefaultValue, are replaced if they are specified in the new metadata. Altri, ad esempio PropertyChangedCallback, vengono combinati.Others, such as PropertyChangedCallback, are combined. Infine, il comportamento di Unione dipende dal tipo di metadati della proprietà usato per l'override, quindi il comportamento descritto di seguito riguarda le classi di metadati della proprietà esistenti usate dalle proprietà di dipendenza WPFWPF.Ultimately, the merge behavior depends on the property metadata type being used for the override, so the behavior described here is for the existing property metadata classes used by WPFWPF dependency properties. Per informazioni dettagliate, vedere metadati delle proprietà di dipendenza e metadati delle proprietà del Framework.For details, see Dependency Property Metadata and Framework Property Metadata.

Si applica a