Tras los bucólicos días que he pasado al sur del Moncayo vuelve el hombre, no tan descansado como debería pero menos es nada.
Como ya hemos visto en otros post, me encuentro (el 20% de mi jornada laboral) en un proceso de aprendizaje de Silverlight. Tras leer algunos libros sobre el tema, comencé a desarrollar BookLight (;-) codename de una app que gestiona la biblioteca de la empresa) y gracias a esta app, me estoy encontrando con cosas interesantes y otras no tan interesantes.
Una de esas cosas, son los estilos.
Silverlight, nos permite generar una “suite” de estilos que posteriormente podemos ir asignando a los distintos controles de manera que en el momento que modificamos estos estilos, actualiza el aspecto de todos los controles que los “consumen”.
Estos estilos no son exactamente iguales a los (geniales) cas, aunque algo tienen en común. Definen el aspecto del control y en Silverlight (y dpb) pueden definir parte del comportamiento del control, tal como animaciones.
Cuando trabajamos con Blend y nos disponemos a crear estos estilos, nos da la posibilidad de crear el estilo de forma “global” (guardándolo en el app.xaml) o de forma “local” añadiéndolo al propio documento. Estos estilos pueden heredar de otros, y además es sumamente sencillo hacer esto, solo que en Blend no es muy aparente (si os digo la verdad yo no he encontrado la forma, lo cual puede ser normal por otra parte).
Para heredar unos estilos de otros vamos a usar el atributo BasedOn por medio del cual indicaremos cual es el estilo padre. Podeís ver su uso aquí:
<Style x:Name="BaseText" TargetType="TextBlock">
<Setter Property="FontFamily" Value="./../Fonts/Fonts.zip#Arial" />
<Setter Property="TextWrapping" Value="Wrap" />
<Setter Property="FontWeight" Value="normal" />
</Style>
<Style x:Name="BookLight.BookingBook.Title" TargetType="TextBlock" BasedOn="{StaticResource BaseText}" >
<Setter Property="FontSize" Value="28" />
<Setter Property="Margin" Value="10, 10, 10, 10" />
</Style>
<Style x:Name="BookLight.BookingBook.Title.Success" TargetType="TextBlock" BasedOn="{StaticResource BookLight.BookingBook.Title}" >
<Setter Property="Foreground" Value="#FF66CC00" />
</Style>
<Style x:Name="BookLight.BookingBook.Title.Error" TargetType="TextBlock" BasedOn="{StaticResource BookLight.BookingBook.Title}" >
<Setter Property="Foreground" Value="#FFFF6600" />
</Style>
Y esto es todo. Se despide vuestro amable y querido narrador no sin antes hablaros de The Phenomenal Handclap Band formada por gente de The Jon Spencer Blues Explosion y Mooney Suzuki.