Este post es sumamente sencillo. De hecho ahora que lo escribo creo que pudo haber sido parte de uno mas, pero si sigue la cuestión de Plutón por ser tan pequeño no veré problemas con este post.
Visibilidad
Es una propiedad que los los objetos de tipo UIElement tienen para poder determinar si son visibles o no. Un control que no es visible no es renderizado.
Esta propiedad solo tiene dos opciones.
<uiElement Visibility=”Visible”/> -ó- <uiElement Visibility=”Collapsed”/>
La razón por la que la propiedad utiliza un enumerador en lugar de un simple Booleano es porque el modelo del objeto esta modelado de la misma forma que en WPF, donde son tres diferentes estados
Opacidad
Esta propiedad ajusta el nivel de la opacidad de tu objeto. Su valor oscila entre 0 y 1.0. El valor por defecto de esta propiedad es 1.
<uiElement Opacity=”double” …/>
Cuando usar una o la otra
Después de la explicación de ambas propiedades, ahora podremos entrar en la recomendación de este artículo.
Utiliza la propiedad de Visibilidad de los controles en lugar de su opacidad si quieres “esconderlos” de la vista de tu usuario. Hay una diferencia muy grande entre ambos elementos, la opacidad puede ocultar el control de la vista, pero no de la memoria ni del hilo de la UI. La visibilidad lo hace, además de que libera el espacio para que otro control pueda ser colocado en el mismo espacio.
Conclusión
Si existen ambas propiedades es sencillamente porque debemos aprender a utilizar la propiedad mas adecuada en el escenario mas adecuado. La opacidad es genial para las animaciones y elementos que al final desaparecerán. Incluso puedes dar un efecto de degradado con una animación que utiliza la opacidad para tal fin, pero al momento de llevar tu propiedad a su valor cero, puedes entonces hacerla invisible. Eso dará un efecto genial a la vez que estés realizando una buena práctica.