DependencyProperty.RegisterAttached Método

Definición

Registra una propiedad adjunta con el sistema de propiedades.Registers an attached property with the property system.

Sobrecargas

RegisterAttached(String, Type, Type)

Registra una propiedad adjunta con el nombre de propiedad, el tipo de propiedad y el tipo de propietario especificados.Registers an attached property with the specified property name, property type, and owner type.

RegisterAttached(String, Type, Type, PropertyMetadata)

Registra una propiedad adjunta con el nombre de la propiedad, el tipo de propiedad, el tipo de propietario y los metadatos de propiedad especificados.Registers an attached property with the specified property name, property type, owner type, and property metadata.

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

Registra una propiedad adjunta con el tipo de propiedad, el tipo de propietario, los metadatos de propiedad y una devolución de llamada de validación de valor 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 una propiedad adjunta con el nombre de propiedad, el tipo de propiedad y el tipo de propietario 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

Nombre de la propiedad de dependencia que se va a registrar.The name of the dependency property to register.

propertyType
Type

Tipo de la propiedad.The type of the property.

ownerType
Type

Tipo de propietario que registra la propiedad de dependencia.The owner type that is registering the dependency property.

Devoluciones

Identificador de propiedad de dependencia que se debe usar para establecer el valor de un campo public static readonly en su clase.A dependency property identifier that should be used to set the value of a public static readonly field in your class. Ese identificador se usa posteriormente para hacer referencia a la propiedad de dependencia, en operaciones como el establecimiento de su valor mediante programación o la obtención de metadatos.That identifier is then used to reference the dependency property later, for operations such as setting its value programmatically or obtaining metadata.

Ejemplos

En el ejemplo siguiente se registra una propiedad adjunta en una clase abstracta utilizando esta RegisterAttached firma.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

Comentarios

Una propiedad adjunta es un concepto de propiedad definido por Lenguaje XAML (Extensible Application Markup Language)Extensible Application Markup Language (XAML).An attached property is a property concept defined by Lenguaje XAML (Extensible Application Markup Language)Extensible Application Markup Language (XAML). WPFWPF implementa las propiedades adjuntas como propiedades de dependencia.implements attached properties as dependency properties. Dado que las propiedades adjuntas WPFWPF son propiedades de dependencia, pueden aplicarse metadatos que el sistema de propiedades general puede usar para operaciones como las características de diseño de informes.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 más información, consulte la información general sobre propiedades adjuntas.For more information, see Attached Properties Overview.

Para obtener más información sobre el registro de propiedades de dependencia, vea DependencyProperty.For more information on dependency property registration, see DependencyProperty.

Consulte también:

RegisterAttached(String, Type, Type, PropertyMetadata)

Registra una propiedad adjunta con el nombre de la propiedad, el tipo de propiedad, el tipo de propietario y los metadatos de propiedad 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

Nombre de la propiedad de dependencia que se va a registrar.The name of the dependency property to register.

propertyType
Type

Tipo de la propiedad.The type of the property.

ownerType
Type

Tipo de propietario que registra la propiedad de dependencia.The owner type that is registering the dependency property.

defaultMetadata
PropertyMetadata

Metadatos de propiedad de la propiedad de dependencia.Property metadata for the dependency property. Esto puede incluir el valor predeterminado, así como otras características.This can include the default value as well as other characteristics.

Devoluciones

Identificador de propiedad de dependencia que se debe usar para establecer el valor de un campo public static readonly en su clase.A dependency property identifier that should be used to set the value of a public static readonly field in your class. Ese identificador se usa posteriormente para hacer referencia a la propiedad de dependencia, en operaciones como el establecimiento de su valor mediante programación o la obtención de metadatos.That identifier is then used to reference the dependency property later, for operations such as setting its value programmatically or obtaining metadata.

Comentarios

Una propiedad adjunta es un concepto de propiedad definido por Lenguaje XAML (Extensible Application Markup Language)Extensible Application Markup Language (XAML).An attached property is a property concept defined by Lenguaje XAML (Extensible Application Markup Language)Extensible Application Markup Language (XAML). WPFWPF implementa las propiedades adjuntas como propiedades de dependencia.implements attached properties as dependency properties. Dado que las propiedades adjuntas WPFWPF son propiedades de dependencia, pueden aplicarse metadatos que el sistema de propiedades general puede usar para operaciones como las características de diseño de informes.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 más información, consulte la información general sobre propiedades adjuntas.For more information, see Attached Properties Overview.

Para obtener más información sobre el registro de propiedades de dependencia, vea DependencyProperty.For more information on dependency property registration, see DependencyProperty.

Usar RegisterAttached para las propiedades de dependencia de herencia de valoresUse RegisterAttached for Value-inheriting Dependency Properties

Un escenario concreto para registrar una propiedad de dependencia con RegisterAttached en lugar de Register es admitir la herencia de valores de propiedad.One particular scenario for registering a dependency property with RegisterAttached instead of Register is to support property value inheritance. Debe registrar las propiedades de dependencia de herencia de valores con RegisterAttached incluso si la clase define los descriptores de acceso del contenedor de propiedades que exponen la propiedad de dependencia, e incluso si no desea exponer los métodos estáticos get * y set * para proporcionar un valor asociado true. los descriptores de acceso de la propiedad admiten.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. Aunque puede parecer que la herencia de valores de propiedad funciona para las propiedades de dependencia no asociadas, el comportamiento de la herencia de una propiedad no adjunta a través de ciertos límites de elementos en el árbol en tiempo de ejecución no está definido.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. Al registrar la propiedad como adjunta, la propiedad adjunta se convierte en una propiedad global en el sistema de propiedades y se garantiza que la herencia de valores de propiedad funciona en todos los límites de un árbol 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. Utilice siempre RegisterAttached para registrar propiedades donde especifique Inherits en los metadatos.Always use RegisterAttached to register properties where you specify Inherits in the metadata. Para más información, vea Herencia de valores de propiedad.For more information, see Property Value Inheritance.

Consulte también:

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

Registra una propiedad adjunta con el tipo de propiedad, el tipo de propietario, los metadatos de propiedad y una devolución de llamada de validación de valor 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

Parámetros

name
String

Nombre de la propiedad de dependencia que se va a registrar.The name of the dependency property to register.

propertyType
Type

Tipo de la propiedad.The type of the property.

ownerType
Type

Tipo de propietario que registra la propiedad de dependencia.The owner type that is registering the dependency property.

defaultMetadata
PropertyMetadata

Metadatos de propiedad de la propiedad de dependencia.Property metadata for the dependency property. Esto puede incluir el valor predeterminado, así como otras características.This can include the default value as well as other characteristics.

validateValueCallback
ValidateValueCallback

Referencia a una devolución de llamada que debe realizar cualquier validación personalizada del valor de la propiedad de dependencia además de la validación habitual de tipo.A reference to a callback that should perform any custom validation of the dependency property value beyond typical type validation.

Devoluciones

Identificador de propiedad de dependencia que se debe usar para establecer el valor de un campo public static readonly en su clase.A dependency property identifier that should be used to set the value of a public static readonly field in your class. Ese identificador se usa posteriormente para hacer referencia a la propiedad de dependencia, en operaciones como el establecimiento de su valor mediante programación o la obtención de metadatos.That identifier is then used to reference the dependency property later, for operations such as setting its value programmatically or obtaining metadata.

Ejemplos

En el ejemplo siguiente se registra una propiedad adjunta en una clase abstracta utilizando esta RegisterAttached firma.The following example registers an attached property on an abstract class using this RegisterAttached signature. Esta propiedad adjunta es una propiedad de tipo de enumeración y el registro agrega una devolución de llamada de validación para comprobar que el valor proporcionado es un valor de la enumeración.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

Comentarios

Una propiedad adjunta es un concepto de propiedad definido por Lenguaje XAML (Extensible Application Markup Language)Extensible Application Markup Language (XAML).An attached property is a property concept defined by Lenguaje XAML (Extensible Application Markup Language)Extensible Application Markup Language (XAML). WPFWPF implementa las propiedades adjuntas como propiedades de dependencia.implements attached properties as dependency properties. Dado que las propiedades adjuntas WPFWPF son propiedades de dependencia, pueden aplicarse metadatos que el sistema de propiedades general puede usar para operaciones como las características de diseño de informes.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 más información, consulte la información general sobre propiedades adjuntas.For more information, see Attached Properties Overview.

Para obtener más información sobre el registro de propiedades de dependencia, vea DependencyProperty.For more information on dependency property registration, see DependencyProperty.

Usar RegisterAttached para las propiedades de dependencia de herencia de valoresUse RegisterAttached for Value-inheriting Dependency Properties

Un escenario concreto para registrar una propiedad de dependencia con RegisterAttached en lugar de Register es admitir la herencia de valores de propiedad.One particular scenario for registering a dependency property with RegisterAttached instead of Register is to support property value inheritance. Debe registrar las propiedades de dependencia de herencia de valores con RegisterAttached incluso si la clase define los descriptores de acceso del contenedor de propiedades que exponen la propiedad de dependencia, e incluso si no desea exponer los métodos estáticos get * y set * para proporcionar un valor asociado true. los descriptores de acceso de la propiedad admiten.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. Aunque puede parecer que la herencia de valores de propiedad funciona para las propiedades de dependencia no asociadas, el comportamiento de la herencia de una propiedad no adjunta a través de ciertos límites de elementos en el árbol en tiempo de ejecución no está definido.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. Al registrar la propiedad como adjunta, la propiedad adjunta se convierte en una propiedad global en el sistema de propiedades y se garantiza que la herencia de valores de propiedad funciona en todos los límites de un árbol 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. Utilice siempre RegisterAttached para registrar propiedades donde especifique Inherits en los metadatos.Always use RegisterAttached to register properties where you specify Inherits in the metadata. Para más información, vea Herencia de valores de propiedad.For more information, see Property Value Inheritance.

Consulte también:

Se aplica a