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

Имя регистрируемого свойства зависимостей.

propertyType
TypeName Type

Тип свойства в виде ссылки на тип (System.Type для Microsoft .NET, вспомогательная структуру TypeName для расширений компонентов Visual C++ (C++/CX)).

ownerType
TypeName Type

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

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

См. также раздел