Posteado por: César en: Enero 29, 2009
Cuando estas empezando a aprender Silverlight o Windows Presentation Foundation (aka WPF) y las tecnologías lo hacen posible como por ejemplo XAML, empiezas a encontrar algunos conceptos nuevos que ha introducido ASP.NET 2008 y el Framework 3.5.
WPF, introduce un nuevo uso de las propiedades mucho más inteligente y sofisticado, estas son las Dependency Properties y las Attached Properties, dos tipos nuevos de propiedades (o un tipo y medio por lo menos) que nos proporciona el Framework y que nos vamos a cansar de usar cuando nos toque crear interfaces (y lo que no son interfaces) con XAML.
Una Dependency Property, es un tipo especial de propiedad que devuelve una propiedad .NET y además el valor de la susodicha Dependency Property, depende de otros elementos, por eso no es suficiente con una propiedad normal.
Las características de las Dependency Properties son:
Para usar una DependencyProperty, además de declararla, tenemos que registrarla, un ejemplo sería el siguiente:
public static readonly DependencyProperty TextSizeProperty = DependencyProperty.Register("TextSize", typeof(double), typeof(LoginScreenCS), null);
public double TextSize
{
get { return ((double)this.GetValue(TextSizeProperty)); }
set { this.SetValue(TextSizeProperty, value); }
}
Y otra característica que me ha encantado es que las DependencyProperties pueden notificar los cambios que en ella se producen (de ahí la característica de autovalidación):
private static void onTextSizeChanged(DependencyObject source, DependencyPropertyChangedEventArgs e)
{
if (((double)source.GetValue(e.Property)) > 36)
{
source.SetValue(e.Property, 36.0);
}
}
Son un tipo especial de Dependency Property. Existen y se usan para que un elemento hijo, pueda almacenar un valor en una propiedad definida en un elemento padre.
Esto es todo por hoy, espero que haya quedado más o menos claro todo esto, si no es así pronto veremos ejemplos de todo esto.
Mientras he escrito este post he estado escuchando a Toots & The Maytals. Os dejo con ellos y yo a la cama, que me están esperando
y mañana me voy de Weekend pero no al Purple.
[...] Dependency Properties y Attached Properties, ¿Qué son? « a deshoras [...]