DependencyProperty.RegisterAttached Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Регистрирует присоединенное свойство зависимостей с указанным именем свойства, типом свойства, типом владельца и метаданными свойства для свойства.
static DependencyProperty RegisterAttached(winrt::hstring const& name, TypeName const& propertyType, TypeName const& ownerType, PropertyMetadata const& defaultMetadata);
public static DependencyProperty RegisterAttached(string name, System.Type propertyType, System.Type ownerType, PropertyMetadata defaultMetadata);
function registerAttached(name, propertyType, ownerType, defaultMetadata)
Public Shared Function RegisterAttached (name As String, propertyType As Type, ownerType As Type, defaultMetadata As PropertyMetadata) As DependencyProperty
Параметры
- name
-
String
winrt::hstring
Имя регистрируемого свойства зависимостей.
Тип свойства в виде ссылки на тип (System.Type для Microsoft .NET, вспомогательная структуру TypeName для расширений компонентов Visual C++ (C++/CX)).
Тип владельца, регистрирующий свойство зависимостей в качестве ссылки на тип (System.Type для Microsoft .NET, вспомогательная структуру TypeName для расширений компонентов Visual C++ (C++/CX)).
- defaultMetadata
- PropertyMetadata
Экземпляр метаданных свойства. Он может содержать ссылку на реализацию PropertyChangedCallback .
Возвращаемое значение
Идентификатор свойства зависимостей, который следует использовать для задания значения общедоступного статического поля только для чтения в классе. Затем этот идентификатор используется для ссылки на присоединенное свойство позже для таких операций, как установка его значения программным способом или присоединение привязки.
Примеры
В этом примере определяется класс, производный от DependencyObject, и определяется присоединенное свойство вместе с полем идентификатора. Сценарий для этого класса заключается в том, что это класс службы, который объявляет присоединенное свойство, которое другие элементы пользовательского интерфейса могут задать в XAML, и служба потенциально действует на значения присоединенных свойств этих элементов пользовательского интерфейса во время выполнения. Дополнительные примеры см. в разделе Настраиваемые присоединенные свойства.
public abstract class AquariumServices : DependencyObject
{
public enum Buoyancy {Floats,Sinks,Drifts}
public static readonly DependencyProperty BuoyancyProperty = DependencyProperty.RegisterAttached(
"Buoyancy",
typeof(Buoyancy),
typeof(AquariumServices),
new PropertyMetadata(Buoyancy.Floats)
);
public static void SetBuoyancy(DependencyObject element, Buoyancy value)
{
element.SetValue(BuoyancyProperty, value);
}
public static Buoyancy GetBuoyancy(DependencyObject element)
{
return (Buoyancy)element.GetValue(BuoyancyProperty);
}
}
Public Class AquariumServices
Inherits DependencyObject
Public Enum Buoyancy
Floats
Sinks
Drifts
End Enum
Public Shared ReadOnly BuoyancyProperty As DependencyProperty = _
DependencyProperty.RegisterAttached(
"Buoyancy", _
GetType(Buoyancy), _
GetType(AquariumServices), _
New PropertyMetadata(Buoyancy.Floats))
Public Sub SetBuoyancy(element As DependencyObject, value As Buoyancy)
element.SetValue(BuoyancyProperty, value)
End Sub
Public Function GetBuoyancy(element As DependencyObject) As Buoyancy
GetBuoyancy = CType(element.GetValue(BuoyancyProperty), Buoyancy)
End Function
End Class