Compartilhar via


DependencyProperty.RegisterAttached Método

Definição

Registra uma propriedade de dependência anexada com o nome da propriedade, o tipo de propriedade, o tipo de proprietário e os metadados de propriedade especificados para a propriedade.

 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

Parâmetros

name
String

winrt::hstring

O nome da propriedade de dependência a ser registrada.

propertyType
TypeName Type

O tipo da propriedade, como uma referência de tipo (System.Type para Microsoft .NET, um struct auxiliar TypeName para extensões de componente do Visual C++ (C++/CX)).

ownerType
TypeName Type

O tipo de proprietário que está registrando a propriedade de dependência, como uma referência de tipo (System.Type para Microsoft .NET, um struct auxiliar TypeName para extensões de componente do Visual C++ (C++/CX)).

defaultMetadata
PropertyMetadata

Uma instância de metadados de propriedade. Isso pode conter uma referência de implementação PropertyChangedCallback .

Retornos

Um identificador de propriedade de dependência que deve ser usado para definir o valor de um campo público estático somente leitura em sua classe. Esse identificador é usado para referenciar a propriedade anexada posteriormente, para operações como definir seu valor programaticamente ou anexar uma Associação.

Exemplos

Este exemplo define uma classe derivada de DependencyObject e define uma propriedade anexada junto com o campo identificador. O cenário para essa classe é que ela é uma classe de serviço que declara uma propriedade anexada que outros elementos de interface do usuário podem definir em XAML, e o serviço potencialmente atua nos valores da propriedade anexada nesses elementos de interface do usuário em tempo de execução. Para obter mais exemplos, consulte Propriedades anexadas personalizadas.

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

Aplica-se a

Confira também