Compartir a través de


Cómo: Registrar una propiedad asociada

Actualización: noviembre 2007

En este ejemplo se muestra cómo registrar una propiedad asociada y proporcionar descriptores de acceso públicos para que se pueda utilizar la propiedad en Lenguaje de marcado de aplicaciones extensible (XAML) y en código. Las propiedades asociadas son un concepto de sintaxis definido por Lenguaje de marcado de aplicaciones extensible (XAML). La mayoría de las propiedades asociadas para los tipos de WPF también se implementan como propiedades de dependencia. Puede utilizar las propiedades de dependencia en cualquier tipo DependencyObject.

Ejemplo

En el ejemplo siguiente se muestra cómo registrar una propiedad asociada como una propiedad de dependencia, utilizando el método RegisterAttached. La clase de proveedor tiene la opción de proporcionar los metadatos predeterminados para la propiedad que son aplicables cuando la propiedad se utiliza en otra clase, a menos que esa clase invalide los metadatos. En este ejemplo, el valor predeterminado de la propiedad IsBubbleSource se establece en false.

La clase de proveedor para una propiedad asociada (aunque no se registre como propiedad de dependencia) debe proporcionar descriptores de acceso estáticos get y set que cumplan la convención de nomenclatura siguiente: Set[NombreDePropiedadAsociada] y Get[NombreDePropiedadAsociada]. Estos descriptores de acceso se necesitan para que el lector XAML activo pueda reconocer las propiedades como atributos en XAML y resolver los tipos pertinentes.

public static readonly DependencyProperty IsBubbleSourceProperty = DependencyProperty.RegisterAttached(
  "IsBubbleSource",
  typeof(Boolean),
  typeof(AquariumObject),
  new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender)
);
public static void SetIsBubbleSource(UIElement element, Boolean value)
{
  element.SetValue(IsBubbleSourceProperty, value);
}
public static Boolean GetIsBubbleSource(UIElement element)
{
  return (Boolean)element.GetValue(IsBubbleSourceProperty);
}

Vea también

Conceptos

Información general sobre las propiedades de dependencia

Propiedades de dependencia personalizadas

Referencia

DependencyProperty

Otros recursos

Temas "Cómo..." sobre propiedades

Ejemplos de propiedades