DependencyProperty.AddOwner Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Добавляет другой тип в качестве владельца свойства зависимостей, которое уже зарегистрировано в типе.
Перегрузки
| Имя | Описание |
|---|---|
| AddOwner(Type) |
Добавляет другой тип в качестве владельца свойства зависимостей, которое уже зарегистрировано. |
| AddOwner(Type, PropertyMetadata) |
Добавляет другой тип в качестве владельца свойства зависимостей, которое уже зарегистрировано, предоставляя метаданные свойства зависимостей для свойства зависимостей, так как он будет существовать в указанном типе владельца. |
AddOwner(Type)
Добавляет другой тип в качестве владельца свойства зависимостей, которое уже зарегистрировано.
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
Тип, добавляемый как владелец этого свойства зависимостей.
Возвращаемое значение
Ссылка на исходный DependencyProperty идентификатор, определяющий свойство зависимостей. Этот идентификатор должен предоставляться добавлением класса в качестве public static readonly поля.
Комментарии
Этот метод позволяет системе свойств распознавать свойство зависимостей от типа, который изначально не регистрирует конкретное свойство зависимостей.
Как правило, используется для добавления свойств зависимостей в классы, AddOwner которые еще не предоставляют это свойство зависимостей через наследование управляемого класса (наследование классов приведет к наследуемым свойствам оболочки производным классом и, следовательно, предоставляет общий доступ к свойству зависимостей в таблицах с общими элементами). AddOwner позволяет системе свойств распознавать свойство зависимости от типа, который изначально не регистрирует это свойство зависимости.
Эта сигнатура не позволяет указывать метаданные. При использовании этого метода метаданные автоматически создаются для нового DependencyProperty и его типа владельца. Автоматически созданные метаданные являются результатом объединенных метаданных из всех базовых типов, имеющих это свойство. Если объединенные метаданные недоступны, то используются метаданные по умолчанию для свойства. Если свойство зарегистрировано с помощью RegisterAttached метода, метаданные по умолчанию совпадают с метаданными, созданными при RegisterAttached вызове.
PropertyMetadata В противном случае объект создается с свойствомDefaultValue, заданным по умолчанию типа свойства, и для всех остальных свойств объекта PropertyMetadata задано nullзначение .
AddOwner(Type, PropertyMetadata) Используйте сигнатуру, если требуется предоставить метаданные для версии свойства зависимостей, добавленной в указанный тип.
Возвращаемое значение этого метода обычно используется для объявления и предоставления свойства зависимостей путем хранения идентификатора свойства зависимостей. Идентификатор предоставляет доступ к свойству зависимостей, если требуется вызывать API системы свойств к свойству зависимостей, особенно так как он существует при добавлении класса владельца. Одно и то же имя свойства для исходного владельца и добавленного владельца должно использоваться для указания аналогичных функциональных возможностей. Необходимо использовать DependencyProperty возвращаемое значение AddOwner метода для определения идентификатора свойства зависимостей, а также для объявления оболочки свойств CLR для свойств зависимостей, добавляемых в типы с помощью AddOwner.
Рекомендуемая AddOwner выше методология используется при создании свойств зависимостей, объявленных в WPF. Например, и BorderControl определите BorderBrush свойство зависимостей, которое имеет аналогичные функциональные возможности.
Control определяет его BorderBrush свойство в систему свойств путем вызова AddOwner на основе исходного владельца Border и зарегистрированного BorderBrushProperty свойства зависимости идентификатора. Затем AddOwner возвращаемое значение используется для установки нового статического DependencyProperty поля (BorderBrushProperty) для этого свойства для добавленного владельца, а BorderBrush также объявляется оболочка свойств.
Применяется к
AddOwner(Type, PropertyMetadata)
Добавляет другой тип в качестве владельца свойства зависимостей, которое уже зарегистрировано, предоставляя метаданные свойства зависимостей для свойства зависимостей, так как он будет существовать в указанном типе владельца.
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
Тип, добавляемый как владелец этого свойства зависимостей.
- typeMetadata
- PropertyMetadata
Метаданные, которые квалифифициируют свойство зависимостей по мере его существования в предоставленном типе.
Возвращаемое значение
Ссылка на исходный DependencyProperty идентификатор, определяющий свойство зависимостей. Этот идентификатор должен предоставляться добавлением класса в качестве public static readonly поля.
Комментарии
Этот метод позволяет системе свойств распознавать свойство зависимостей от типа, который изначально не регистрирует конкретное свойство зависимостей.
Возвращаемое значение этого метода используется для объявления и предоставления свойства зависимостей, особенно при наличии в добавленном классе владельца. Как правило, одно и то же имя свойства для исходного владельца и добавленного владельца следует использовать для указания аналогичных функций. Рекомендуется предоставлять идентификаторы, а также новые оболочки свойств СРЕДЫ CLR для свойств зависимостей, добавляемых в типы с помощью AddOwner.
Рекомендуемая AddOwner выше методология используется при создании API, объявленных в WPF. Например, и BorderControl определите BorderBrush свойство зависимостей, которое имеет аналогичные функциональные возможности.
Control определяет его BorderBrush свойство в системе свойств, вызывая AddOwner исходного владельца Border и зарегистрированного BorderBrushProperty свойства зависимостей идентификатор. Затем AddOwner возвращаемое значение используется для установки статического DependencyProperty поля (BorderBrushProperty) для этого свойства для добавленного владельца, а BorderBrush также объявляется оболочка свойств.
Идентификатор свойства зависимостей добавленного владельца должен использоваться для таких операций, как GetValue. Однако операции, связанные с типом или экземплярами класса, добавленного в качестве владельца с различными метаданными, по-прежнему возвращают ожидаемые результаты. Это верно, даже если исходный идентификатор свойства зависимостей (не добавленного владельца) указан в вызовах методов, таких как GetValue или GetMetadata. Метаданные для добавленного владельца увековечены самим вызовом, не обязательно ссылаются AddOwner исключительно на поле идентификатора класса владельца. Тем не менее рекомендуется предоставлять идентификатор, а также новые оболочки свойств СРЕДЫ CLR для свойств зависимостей, добавляемых к типам, AddOwnerтак как при этом не удается сделать это, создается неравенство между clR и представлениями XAML ваших свойств.
Предоставленные метаданные объединяются с метаданными свойства для свойства зависимостей, так как он существует в базовом владельце. Все характеристики, указанные в исходных базовых метаданных, будут сохраняться. Только те характеристики, которые были специально изменены в новых метаданных, переопределяют характеристики базовых метаданных. Некоторые характеристики, например DefaultValue, заменяются, если они указаны в новых метаданных. Другие, такие как PropertyChangedCallback, объединяются. В конечном счете поведение слияния зависит от типа метаданных свойства, используемого для переопределения, поэтому описанное здесь поведение предназначено для существующих классов метаданных свойств, используемых свойствами зависимостей WPF. Дополнительные сведения см. в разделе метаданных свойства зависимостей и метаданных свойств Framework.