WinFX (.NET Framework 3.0) |
Transparencias (opacidad)Publicado el 23/Nov/2006
|
Introducción:Este ejemplo es muy simple, y lo he hecho para probar las transparencias en los elementos contenidos en una aplicación usando Windows Presentation Foundation (WPF). El hacer estas pruebas ha sido para ver si a diferencia de los formularios de Windows "normales", bueno, a los que estamos acostumbrados, ya que, con la salida de Windows Vista, esto que te comento ya no es "normal"... porque, al menos si tenemos activado Aero, el propio Windows Vista se encarga de ciertas transparencias, por ejemplo, si te fijas en la figura 1, verás que la barra de título de la aplicación es transparente, lo mismo que los bordes de la ventana, pero eso es algo que el propio sistema operativo hace, y no es lo que te voy a explicar, je, je. Por otro lado, si miras la figura 2, verás que es una ventana "normal" de Windows XP, y ahí no hay más transparencias que las que yo te voy a explicar.
Lo que yo te voy a explicar es más simple, ya que se trata de hacer transparente ciertas partes (o elementos) de una aplicación creada con Windows Presentation Foundation (WinFX para los carrozas como yo, aunque para otros "dinosaurios" es Avalon, je, je). Como te decía antes (o al menos intentaba decirte, pero como siempre me lío con otras cosas, pues pasa lo que pasa) y es que en una aplicación creada con Visual Studio y que trabaje en un equipo tipo Windows 2000 o Windows XP, podemos hacer que el formulario sea transparente. El problema es que si lo hacemos transparente, todo lo que contenga también será transparente. Por ejemplo, en la figura 3, tenemos una ventana
transparente (a un 75% de opacidad), que se consigue simplemente indicando
el porcentaje de opacidad que queremos, en este ejemplo, es del 75%.
Y es que en los controles de Windows.Forms, solo en los formularios podemos cambiar ese nivel de transparencia/opacidad. Nota: Pero con los controles de WPF, puedes asignar un valor a
la propiedad
Opacity (que es la misma que en los formularios de
Windows.Forms) a cualquier control o cualquier elemento "gráfico" que
tengas. No me voy a enrollar más, y te voy a mostrar el código, que en este caso, como solo es para ver el efecto de las transparencias solo está el de XAML, ya que este ejemplo no hace nada de nada, por tanto no necesita código en ningún lenguaje. Y de ese código, decirte que lo que realmente está
relacionado con esto que te comento de las transparencias es la parte del
código que define los dos
TextBlock y el Label. El primer bloque de textos, el que
muestra Hola, está con opacidad 1, es decir, no es transparente. EL segundo
bloque, el de la palabra Mundo, está al 60% (0.6) de opacidad y la etiqueta
al 30% (0.3).
Pues nada, que lo transparentices bien... ;-)))
Nos vemos.
|