DependencyProperty.RegisterAttached Método

Definição

Registra uma propriedade anexada com o sistema de propriedade.Registers an attached property with the property system.

Sobrecargas

RegisterAttached(String, Type, Type)

Registra uma propriedade anexada com o nome de propriedade, o tipo de propriedade e o tipo de proprietário especificados.Registers an attached property with the specified property name, property type, and owner type.

RegisterAttached(String, Type, Type, PropertyMetadata)

Registra uma propriedade anexada com o nome de propriedade, tipo de propriedade, tipo de proprietário e metadados de propriedade especificados.Registers an attached property with the specified property name, property type, owner type, and property metadata.

RegisterAttached(String, Type, Type, PropertyMetadata, ValidateValueCallback)

Registra uma propriedade anexada com o tipo de propriedade, o tipo de proprietário, os metadados de propriedade e o retorno de chamada de validação de valor da propriedade especificados.Registers an attached property with the specified property type, owner type, property metadata, and value validation callback for the property.

RegisterAttached(String, Type, Type)

Registra uma propriedade anexada com o nome de propriedade, o tipo de propriedade e o tipo de proprietário especificados.Registers an attached property with the specified property name, property type, and owner type.

public:
 static System::Windows::DependencyProperty ^ RegisterAttached(System::String ^ name, Type ^ propertyType, Type ^ ownerType);
public static System.Windows.DependencyProperty RegisterAttached (string name, Type propertyType, Type ownerType);
static member RegisterAttached : string * Type * Type -> System.Windows.DependencyProperty
Public Shared Function RegisterAttached (name As String, propertyType As Type, ownerType As Type) As DependencyProperty

Parâmetros

name
String

O nome da propriedade de dependência a ser registrada.The name of the dependency property to register.

propertyType
Type

O tipo da propriedade.The type of the property.

ownerType
Type

O tipo de proprietário que está registrando a propriedade de dependência.The owner type that is registering the dependency property.

Retornos

Um identificador de propriedade de dependência que deve ser usado para definir o valor de um campo public static readonly em sua classe.A dependency property identifier that should be used to set the value of a public static readonly field in your class. Em seguida, esse identificador será usado para referenciar a propriedade de dependência mais tarde, para operações como a configuração do valor de forma programática ou a obtenção de metadados.That identifier is then used to reference the dependency property later, for operations such as setting its value programmatically or obtaining metadata.

Exemplos

O exemplo a seguir registra uma propriedade anexada em uma classe abstrata usando essa assinatura RegisterAttached.The following example registers an attached property on an abstract class using this RegisterAttached signature.

public static readonly DependencyProperty IsBubbleSourceProperty = DependencyProperty.RegisterAttached(
  "IsBubbleSource",
  typeof(Boolean),
  typeof(AquariumObject2)
);
public static void SetIsBubbleSource(UIElement element, Boolean value)
{
    element.SetValue(IsBubbleSourceProperty, value);
}
public static Boolean GetIsBubbleSource(UIElement element)
{
    return (Boolean)element.GetValue(IsBubbleSourceProperty);
}
Public Shared ReadOnly IsBubbleSourceProperty As DependencyProperty = DependencyProperty.RegisterAttached("IsBubbleSource", GetType(Boolean), GetType(AquariumObject2))
Public Shared Sub SetIsBubbleSource(ByVal element As UIElement, ByVal value As Boolean)
    element.SetValue(IsBubbleSourceProperty, value)
End Sub
Public Shared Function GetIsBubbleSource(ByVal element As UIElement) As Boolean
    Return CType(element.GetValue(IsBubbleSourceProperty), Boolean)
End Function

Comentários

Uma propriedade anexada é um conceito de propriedade definido por XAML (linguagem XAML)Extensible Application Markup Language (XAML).An attached property is a property concept defined by XAML (linguagem XAML)Extensible Application Markup Language (XAML). WPFWPF implementa propriedades anexadas como propriedades de dependência.implements attached properties as dependency properties. Como as propriedades anexadas WPFWPF são propriedades de dependência, elas podem ter metadados aplicados que podem ser usados pelo sistema de propriedades geral para operações como características de layout de relatório.Because the WPFWPF attached properties are dependency properties, they can have metadata applied that can be used by the general property system for operations such as reporting layout characteristics. Para obter mais informações, consulte Visão geral das propriedades anexadas.For more information, see Attached Properties Overview.

Para obter mais informações sobre o registro de propriedade de dependência, consulte DependencyProperty.For more information on dependency property registration, see DependencyProperty.

Veja também

RegisterAttached(String, Type, Type, PropertyMetadata)

Registra uma propriedade anexada com o nome de propriedade, tipo de propriedade, tipo de proprietário e metadados de propriedade especificados.Registers an attached property with the specified property name, property type, owner type, and property metadata.

public:
 static System::Windows::DependencyProperty ^ RegisterAttached(System::String ^ name, Type ^ propertyType, Type ^ ownerType, System::Windows::PropertyMetadata ^ defaultMetadata);
public static System.Windows.DependencyProperty RegisterAttached (string name, Type propertyType, Type ownerType, System.Windows.PropertyMetadata defaultMetadata);
static member RegisterAttached : string * Type * Type * System.Windows.PropertyMetadata -> System.Windows.DependencyProperty
Public Shared Function RegisterAttached (name As String, propertyType As Type, ownerType As Type, defaultMetadata As PropertyMetadata) As DependencyProperty

Parâmetros

name
String

O nome da propriedade de dependência a ser registrada.The name of the dependency property to register.

propertyType
Type

O tipo da propriedade.The type of the property.

ownerType
Type

O tipo de proprietário que está registrando a propriedade de dependência.The owner type that is registering the dependency property.

defaultMetadata
PropertyMetadata

Os metadados de propriedade da propriedade de dependência.Property metadata for the dependency property. Isso pode incluir o valor padrão, bem como outras características.This can include the default value as well as other characteristics.

Retornos

Um identificador de propriedade de dependência que deve ser usado para definir o valor de um campo public static readonly em sua classe.A dependency property identifier that should be used to set the value of a public static readonly field in your class. Em seguida, esse identificador será usado para referenciar a propriedade de dependência mais tarde, para operações como a configuração do valor de forma programática ou a obtenção de metadados.That identifier is then used to reference the dependency property later, for operations such as setting its value programmatically or obtaining metadata.

Comentários

Uma propriedade anexada é um conceito de propriedade definido por XAML (linguagem XAML)Extensible Application Markup Language (XAML).An attached property is a property concept defined by XAML (linguagem XAML)Extensible Application Markup Language (XAML). WPFWPF implementa propriedades anexadas como propriedades de dependência.implements attached properties as dependency properties. Como as propriedades anexadas WPFWPF são propriedades de dependência, elas podem ter metadados aplicados que podem ser usados pelo sistema de propriedades geral para operações como características de layout de relatório.Because the WPFWPF attached properties are dependency properties, they can have metadata applied that can be used by the general property system for operations such as reporting layout characteristics. Para obter mais informações, consulte Visão geral das propriedades anexadas.For more information, see Attached Properties Overview.

Para obter mais informações sobre o registro de propriedade de dependência, consulte DependencyProperty.For more information on dependency property registration, see DependencyProperty.

Usar RegisterAttached para propriedades de dependência de valor herdadoUse RegisterAttached for Value-inheriting Dependency Properties

Um cenário específico para registrar uma propriedade de dependência com RegisterAttached em vez de Register é oferecer suporte à herança de valor de propriedade.One particular scenario for registering a dependency property with RegisterAttached instead of Register is to support property value inheritance. Você deve registrar Propriedades de dependência de valor herdado com RegisterAttached mesmo que a classe defina acessadores de wrapper de propriedade que exponham a propriedade de dependência, e mesmo que você não pretenda expor Get * e definir * métodos estáticos para fornecer acessadores de suporte de propriedade true Attached.You should register value-inheriting dependency properties with RegisterAttached even if the class defines property wrapper accessors that expose the dependency property, and even if you do not intend to expose Get* and Set* static methods to provide true attached property support accessors. Embora a herança de valor de propriedade pareça funcionar para propriedades de dependência não anexadas, o comportamento de herança para uma propriedade não anexada por certos limites de elemento na árvore de tempo de execução é indefinido.Although property value inheritance might appear to work for nonattached dependency properties, the inheritance behavior for a nonattached property through certain element boundaries in the runtime tree is undefined. Registrar a propriedade como anexada efetivamente torna a propriedade anexada uma propriedade global para o sistema de propriedades e garante que a herança do valor da propriedade funcione em todos os limites em uma árvore de elementos.Registering the property as attached effectively makes the attached property a global property to the property system, and assures that property value inheritance works across all boundaries in an element tree. Sempre use RegisterAttached para registrar Propriedades onde você especifica Inherits nos metadados.Always use RegisterAttached to register properties where you specify Inherits in the metadata. Para obter mais informações, consulte Herança do valor da propriedade.For more information, see Property Value Inheritance.

Veja também

RegisterAttached(String, Type, Type, PropertyMetadata, ValidateValueCallback)

Registra uma propriedade anexada com o tipo de propriedade, o tipo de proprietário, os metadados de propriedade e o retorno de chamada de validação de valor da propriedade especificados.Registers an attached property with the specified property type, owner type, property metadata, and value validation callback for the property.

public:
 static System::Windows::DependencyProperty ^ RegisterAttached(System::String ^ name, Type ^ propertyType, Type ^ ownerType, System::Windows::PropertyMetadata ^ defaultMetadata, System::Windows::ValidateValueCallback ^ validateValueCallback);
public static System.Windows.DependencyProperty RegisterAttached (string name, Type propertyType, Type ownerType, System.Windows.PropertyMetadata defaultMetadata, System.Windows.ValidateValueCallback validateValueCallback);
static member RegisterAttached : string * Type * Type * System.Windows.PropertyMetadata * System.Windows.ValidateValueCallback -> System.Windows.DependencyProperty
Public Shared Function RegisterAttached (name As String, propertyType As Type, ownerType As Type, defaultMetadata As PropertyMetadata, validateValueCallback As ValidateValueCallback) As DependencyProperty

Parâmetros

name
String

O nome da propriedade de dependência a ser registrada.The name of the dependency property to register.

propertyType
Type

O tipo da propriedade.The type of the property.

ownerType
Type

O tipo de proprietário que está registrando a propriedade de dependência.The owner type that is registering the dependency property.

defaultMetadata
PropertyMetadata

Os metadados de propriedade da propriedade de dependência.Property metadata for the dependency property. Isso pode incluir o valor padrão, bem como outras características.This can include the default value as well as other characteristics.

validateValueCallback
ValidateValueCallback

Uma referência a um retorno de chamada que deve executar uma validação personalizada do valor da propriedade de dependência além da validação de tipo comum.A reference to a callback that should perform any custom validation of the dependency property value beyond typical type validation.

Retornos

Um identificador de propriedade de dependência que deve ser usado para definir o valor de um campo public static readonly em sua classe.A dependency property identifier that should be used to set the value of a public static readonly field in your class. Em seguida, esse identificador será usado para referenciar a propriedade de dependência mais tarde, para operações como a configuração do valor de forma programática ou a obtenção de metadados.That identifier is then used to reference the dependency property later, for operations such as setting its value programmatically or obtaining metadata.

Exemplos

O exemplo a seguir registra uma propriedade anexada em uma classe abstrata usando essa assinatura RegisterAttached.The following example registers an attached property on an abstract class using this RegisterAttached signature. Essa propriedade anexada é uma propriedade de tipo de enumeração e o registro adiciona um retorno de chamada de validação para verificar se o valor fornecido é um valor da enumeração.This attached property is an enumeration type property, and the registration adds a validation callback to verify that the provided value is a value of the enumeration.

public static readonly DependencyProperty IsBubbleSourceProperty = DependencyProperty.RegisterAttached(
  "IsBubbleSource",
  typeof(Boolean),
  typeof(AquariumObject2)
);
public static void SetIsBubbleSource(UIElement element, Boolean value)
{
    element.SetValue(IsBubbleSourceProperty, value);
}
public static Boolean GetIsBubbleSource(UIElement element)
{
    return (Boolean)element.GetValue(IsBubbleSourceProperty);
}
Public Shared ReadOnly IsBubbleSourceProperty As DependencyProperty = DependencyProperty.RegisterAttached("IsBubbleSource", GetType(Boolean), GetType(AquariumObject2))
Public Shared Sub SetIsBubbleSource(ByVal element As UIElement, ByVal value As Boolean)
    element.SetValue(IsBubbleSourceProperty, value)
End Sub
Public Shared Function GetIsBubbleSource(ByVal element As UIElement) As Boolean
    Return CType(element.GetValue(IsBubbleSourceProperty), Boolean)
End Function

Comentários

Uma propriedade anexada é um conceito de propriedade definido por XAML (linguagem XAML)Extensible Application Markup Language (XAML).An attached property is a property concept defined by XAML (linguagem XAML)Extensible Application Markup Language (XAML). WPFWPF implementa propriedades anexadas como propriedades de dependência.implements attached properties as dependency properties. Como as propriedades anexadas WPFWPF são propriedades de dependência, elas podem ter metadados aplicados que podem ser usados pelo sistema de propriedades geral para operações como características de layout de relatório.Because the WPFWPF attached properties are dependency properties, they can have metadata applied that can be used by the general property system for operations such as reporting layout characteristics. Para obter mais informações, consulte Visão geral das propriedades anexadas.For more information, see Attached Properties Overview.

Para obter mais informações sobre o registro de propriedade de dependência, consulte DependencyProperty.For more information on dependency property registration, see DependencyProperty.

Usar RegisterAttached para propriedades de dependência de valor herdadoUse RegisterAttached for Value-inheriting Dependency Properties

Um cenário específico para registrar uma propriedade de dependência com RegisterAttached em vez de Register é oferecer suporte à herança de valor de propriedade.One particular scenario for registering a dependency property with RegisterAttached instead of Register is to support property value inheritance. Você deve registrar Propriedades de dependência de valor herdado com RegisterAttached mesmo que a classe defina acessadores de wrapper de propriedade que exponham a propriedade de dependência, e mesmo que você não pretenda expor Get * e definir * métodos estáticos para fornecer acessadores de suporte de propriedade true Attached.You should register value-inheriting dependency properties with RegisterAttached even if the class defines property wrapper accessors that expose the dependency property, and even if you do not intend to expose Get* and Set* static methods to provide true attached property support accessors. Embora a herança de valor de propriedade pareça funcionar para propriedades de dependência não anexadas, o comportamento de herança para uma propriedade não anexada por certos limites de elemento na árvore de tempo de execução é indefinido.Although property value inheritance might appear to work for nonattached dependency properties, the inheritance behavior for a nonattached property through certain element boundaries in the runtime tree is undefined. Registrar a propriedade como anexada efetivamente torna a propriedade anexada uma propriedade global para o sistema de propriedades e garante que a herança do valor da propriedade funcione em todos os limites em uma árvore de elementos.Registering the property as attached effectively makes the attached property a global property to the property system, and assures that property value inheritance works across all boundaries in an element tree. Sempre use RegisterAttached para registrar Propriedades onde você especifica Inherits nos metadados.Always use RegisterAttached to register properties where you specify Inherits in the metadata. Para obter mais informações, consulte Herança do valor da propriedade.For more information, see Property Value Inheritance.

Veja também

Aplica-se a