DependencyProperty.RegisterAttached Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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.
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)).
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