DependencyProperty.AddOwner DependencyProperty.AddOwner DependencyProperty.AddOwner DependencyProperty.AddOwner Method

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) AddOwner(Type) AddOwner(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.

AddOwner(Type, PropertyMetadata) AddOwner(Type, PropertyMetadata) AddOwner(Type, PropertyMetadata) 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) AddOwner(Type) AddOwner(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 Type Type Type

Tipo da aggiungere come proprietario della proprietà di dipendenza.The type to add as an owner of this dependency property.

Restituisce

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 ancora tale proprietà di dipendenza tramite l'ereditarietà della classe gestita (l'ereditarietà delle classi provocherebbe l'ereditarietà delle proprietà del wrapper da parte della classe derivata e pertanto fornirebbe ai membri generali l'accesso alla tabella della proprietà di dipendenza già esistente.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). AddOwnerconsente 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 usando il RegisterAttached metodo, i metadati predefiniti corrispondono ai metadati creati al momento RegisterAttached della chiamata a.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 PropertyMetadata , l'oggetto viene creato DefaultValue con la proprietà impostata sul valore predefinito del tipo di proprietà e PropertyMetadata tutte le altre proprietà di nullvengono impostate su.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 AddOwner(Type, PropertyMetadata) firma 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 il sistema APIAPIs di proprietà sulla 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 APIAPIs 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 AddOwner del metodo per definire l'identificatore della proprietà di dipendenza e anche per dichiarare CLRCLR i wrapper di proprietà, per le proprietà di dipendenza aggiunte ai tipi AddOwnerutilizzando.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 AddOwner metodologia consigliata in precedenza viene utilizzata per la creazione delle proprietà di WPFWPFdipendenza dichiarate all'interno di.The AddOwner methodology recommended above is used when creating the dependency properties that are declared within WPFWPF. Ad esempio, Border e Control definiscono una BorderBrush proprietà di dipendenza con funzionalità simili.For instance, both Border and Control define a BorderBrush dependency property, which have similar functionality. Controldefinisce la AddOwner Border BorderBrushProperty proprietà nel sistema di proprietà chiamando in base al proprietario originale e alla relativa proprietà di dipendenza registrata identificatore. BorderBrushControl 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 AddOwner valore restituito viene quindi utilizzato per stabilire un nuovo campo DependencyProperty statico (BorderBrushProperty) per tale proprietà sul proprietario aggiunto e viene dichiarato anche BorderBrush un wrapper della proprietà.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) AddOwner(Type, PropertyMetadata) AddOwner(Type, PropertyMetadata) 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 Type Type Type

Tipo da aggiungere come proprietario della proprietà di dipendenza.The type to add as owner of this dependency property.

typeMetadata
PropertyMetadata PropertyMetadata PropertyMetadata 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

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 CLRCLR wrapper di proprietà, per le proprietà di dipendenza aggiunte ai tipi utilizzando. AddOwnerIt 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 AddOwner metodologia consigliata precedente viene utilizzata APIAPIs per la WPFWPFcreazione dichiarata all'interno di.The AddOwner methodology recommended above is used when creating APIAPIs declared within WPFWPF. Ad esempio, Border e Control definiscono una BorderBrush proprietà di dipendenza con funzionalità simili.For instance, both Border and Control define a BorderBrush dependency property, which have similar functionality. Controldefinisce la AddOwner Border BorderBrushProperty proprietà nel sistema di proprietà chiamando il proprietario originale e la relativa proprietà di dipendenza registrata identificatore. BorderBrushControl defines its BorderBrush property to the property system by calling AddOwner on original owner Border and its registered BorderBrushProperty dependency property identifer. Il AddOwner valore restituito viene quindi utilizzato per stabilire un campo DependencyProperty statico (BorderBrushProperty) per la proprietà sul proprietario aggiunto e viene dichiarato anche BorderBrush un wrapper della proprietà.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 GetValuequali.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 il proprietario aggiunto) viene specificato in chiamate a metodi come GetValue o. GetMetadataHowever, 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 AddOwner chiamata stessa, non necessariamente a cui viene fatto riferimento esclusivamente dal campo relativo all'aggiunta 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 CLRCLR wrapper di proprietà, per le proprietà di dipendenza aggiunte ai tipi utilizzando AddOwner, perché in caso contrario crea una disparità tra CLRCLR e XAMLXAML rappresentazioni 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 WPFWPF dalle proprietà di dipendenza.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