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

Определение

Добавляет другой тип в качестве владельца свойства зависимостей, который уже был зарегистрирован для типа.Adds another type as an owner of a dependency property that has already been registered to a type.

Перегрузки

AddOwner(Type) AddOwner(Type) AddOwner(Type) AddOwner(Type)

Добавляет другой тип в качестве владельца свойства зависимостей, которое уже зарегистрировано.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)

Добавляет другой тип в качестве владельца свойства зависимостей, который уже был зарегистрирован, предоставляя метаданные свойства зависимости для свойства зависимостей в том виде, в котором оно будет существовать в предоставленном типе владельца.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)

Добавляет другой тип в качестве владельца свойства зависимостей, которое уже зарегистрировано.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

Параметры

ownerType
Type Type Type Type

Тип для добавления в качестве владельца данного свойства зависимостей.The type to add as an owner of this dependency property.

Возвраты

Ссылка на исходный идентификатор DependencyProperty, который определяет свойство зависимостей.A reference to the original DependencyProperty identifier that identifies the dependency property. Этот идентификатор должен быть представлен путем добавления класса в качестве поля public static readonly.This identifier should be exposed by the adding class as a public static readonly field.

Комментарии

Этот метод позволяет системе свойств распознать свойство зависимостей для типа, который изначально не зарегистрировал это конкретное свойство зависимостей.This method enables the property system to recognize a dependency property on a type that did not register that particular dependency property initially.

AddOwner Обычно используется для добавления свойств зависимостей в классы, которые еще не предоставляют это свойство зависимостей через наследование управляемого класса (наследование класса приведет к тому, что свойства оболочки наследуются производным классом, и, таким образом, будет предоставлять общие члены — доступ к таблицам для свойства зависимостей уже).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позволяет системе свойств распознать свойство зависимостей для типа, который не зарегистрировал это свойство зависимостей изначально.AddOwner enables the property system to recognize a dependency property on a type that did not register that dependency property initially.

Эта подпись не позволяет указывать метаданные.This signature does not allow for specifying metadata. При использовании этого метода метаданные создаются автоматически для нового DependencyProperty типа и его владельца.When you use this method, the metadata is automatically generated for the new DependencyProperty and its owner type. Автоматически созданные метаданные являются результатом Объединенных метаданных из всех базовых типов, для которых определено это свойство.The auto-generated metadata is the result of the merged metadata from all of the base types that have this property defined. Если объединенные метаданные недоступны, используются метаданные по умолчанию для свойства.If no merged metadata is available, then the default metadata for the property is used. Если свойство зарегистрировано с помощью RegisterAttached метода, то метаданные по умолчанию совпадают с метаданными, созданными при 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. В противном случае DefaultValue PropertyMetadata nullобъект создается со свойством, установленным в значение по умолчанию для типа свойства, а всем остальным свойствам объекта присваивается значение. PropertyMetadataOtherwise, 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. AddOwner(Type, PropertyMetadata) Используйте сигнатуру, если хотите предоставить метаданные для версии свойства зависимостей, добавленные в предоставленный тип.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.

Возвращаемое значение этого метода обычно используется для объявления и предоставления свойства зависимостей путем сохранения идентификатора свойства зависимости.The return value of this method is typically used to declare and expose the dependency property by storing a dependency property identifier. Идентификатор предоставляет доступ к свойству зависимостей, если необходимо вызвать систему API - интерфейсыAPIs свойств для свойства зависимостей, особенно в том случае, если оно существует в классе добавления владельца.The identifier provides access to the dependency property if you want to call property system API - интерфейсыAPIs against the dependency property, particularly as it exists on the adding owner class. Для указания аналогичной функциональности следует использовать одно и то же имя свойства для исходного владельца и добавленного владельца.The same property name for both original owner and added owner should be used to indicate the similar functionality. Следует использовать DependencyProperty возвращаемое значение AddOwner метода для определения идентификатора свойства зависимости, а также для объявления CLRCLR оболочек свойств для свойств зависимостей, которые добавляются к типам с помощью 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.

Методология, Рекомендуемая выше, используется при создании свойств зависимостей, объявленных в WPFWPF. AddOwnerThe AddOwner methodology recommended above is used when creating the dependency properties that are declared within WPFWPF. Например, Border и, и Control определяют BorderBrush свойство зависимости, имеющее аналогичные функции.For instance, both Border and Control define a BorderBrush dependency property, which have similar functionality. Controlопределяет свое BorderBrush свойство для системы свойств путем вызова AddOwner на основе исходного владельца Border и зарегистрированного BorderBrushProperty идентификатора свойства зависимостей.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. Возвращаемое значение затем используется для установления нового статического DependencyProperty поля (BorderBrushProperty) для этого BorderBrush свойства в добавленном владельце, а также объявляется оболочка свойства. AddOwnerThe 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)

Добавляет другой тип в качестве владельца свойства зависимостей, который уже был зарегистрирован, предоставляя метаданные свойства зависимости для свойства зависимостей в том виде, в котором оно будет существовать в предоставленном типе владельца.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

Параметры

ownerType
Type Type Type Type

Тип для добавления в качестве владельца данного свойства зависимостей.The type to add as owner of this dependency property.

typeMetadata
PropertyMetadata PropertyMetadata PropertyMetadata PropertyMetadata

Метаданные, квалифицирующие свойство зависимостей в том виде, в котором оно существует в указанном типе.The metadata that qualifies the dependency property as it exists on the provided type.

Возвраты

Ссылка на исходный идентификатор DependencyProperty, который определяет свойство зависимостей.A reference to the original DependencyProperty identifier that identifies the dependency property. Этот идентификатор должен быть представлен путем добавления класса в качестве поля public static readonly.This identifier should be exposed by the adding class as a public static readonly field.

Комментарии

Этот метод позволяет системе свойств распознать свойство зависимостей для типа, который изначально не зарегистрировал это конкретное свойство зависимостей.This method enables the property system to recognize a dependency property on a type that did not register that particular dependency property initially.

Возвращаемое значение этого метода используется для объявления и предоставления свойства зависимостей, особенно в том случае, если оно существует в классе добавления владельца.The return value of this method is used to declare and expose the dependency property, particularly as it exists on the adding owner class. Как правило, для указания аналогичной функциональности следует использовать одно и то же имя свойства для исходного владельца и добавленного владельца.Generally, the same property name for both original owner and added owner should be used to indicate the similar functionality. Рекомендуется предоставлять идентификаторы, а также новые CLRCLR оболочки свойств для свойств зависимостей, которые добавляются к типам с помощью. 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.

Методология AddOwner , Рекомендуемая выше, используется при API - интерфейсыAPIs создании объявления WPFWPFв.The AddOwner methodology recommended above is used when creating API - интерфейсыAPIs declared within WPFWPF. Например, Border и, и Control определяют BorderBrush свойство зависимости, имеющее аналогичные функции.For instance, both Border and Control define a BorderBrush dependency property, which have similar functionality. Controlопределяет свое BorderBrush свойство для системы свойств, вызывая AddOwner для исходного владельца Border и зарегистрированного BorderBrushProperty идентификатора свойства зависимостей.Control defines its BorderBrush property to the property system by calling AddOwner on original owner Border and its registered BorderBrushProperty dependency property identifer. Возвращаемое значение затем используется для установления статического DependencyProperty поля (BorderBrushProperty) для этого BorderBrush свойства в добавленном владельце, а также объявляется оболочка свойства. AddOwnerThe 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.

Идентификатор свойства зависимостей добавленного владельца следует использовать для таких операций, как GetValue.The added owner's dependency property identifier should be used for operations such as GetValue. Однако операции с определенными типами, включающие либо типы, либо экземпляры класса, добавленного в качестве владельца с разными метаданными, по-прежнему будут возвращать ожидаемые результаты, даже если в параметре не указан исходный идентификатор свойства зависимостей (не добавленного владельца). вызывает методы, такие как GetValue или 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. Метаданные для добавленного владельца сохраняются с помощью AddOwner самого вызова, а не обязательно указываются только при добавлении поля идентификатора класса-владельца.The metadata for the added owner is perpetuated by the AddOwner call itself, not necessarily referenced exclusively by the adding owner class identifier field. Тем не менее, рекомендуется предоставлять идентификатор, а также новые CLRCLR оболочки свойств для свойств зависимостей, которые добавляются к типам с помощью AddOwner, так как при этом происходит несоответствие между CLRCLR и XAMLXAML представления свойств.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.

Переданные метаданные объединяются с метаданными свойств для свойства зависимостей в том виде, в котором они существуют в базовом владельце.The supplied metadata is merged with the property metadata for the dependency property as it exists on the base owner. Все характеристики, заданные в исходных базовых метаданных, сохраняются.Any characteristics that were specified in the original base metadata will persist. Только те характеристики, которые были изменены в новых метаданных, будут переопределять характеристики базовых метаданных.Only those characteristics that were specifically changed in the new metadata will override the characteristics of the base metadata. Некоторые характеристики, такие как DefaultValue, заменяются, если они указаны в новых метаданных.Some characteristics, such as DefaultValue, are replaced if they are specified in the new metadata. Другие, например PropertyChangedCallback, объединяются.Others, such as PropertyChangedCallback, are combined. В конечном итоге, поведение слияния зависит от типа метаданных свойства, используемого для переопределения, поэтому описанное здесь поведение предназначено для существующих классов метаданных свойств, используемых 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. Дополнительные сведения см. в разделе метаданные свойств зависимостей и метаданные свойств платформы.For details, see Dependency Property Metadata and Framework Property Metadata.

Применяется к