Hola mundo en Silverlight

Acabo de leerme un poco por alto la documentación de Silverlight y… vaya, está a medio hacer :P Los errores de depuración son… digamos que los programadores de Struts se sentirán como en casa :D

En fin, al trigo. He creado un sencillo hola mundo (que original soy) en Silverlight con C# y VisualStudio 2008. El proceso es simple, creamos un nuevo proyecto de Silverlight en VisualStudio:

Tras esto, vemos que nos ha creado una serie de ficheros que contienen la funcionalidad básica para que nuestros proyectos trabajen adecuadamente con las porciones Silverlight. Nos dirigiremos a “Page.xaml” y pondremos la parte visible de nuestro hola mundo. En mi caso se trata de un bloque de texto (etiqueta para entendernos) que muestra el texto “Pincha aquí” y al pincha muestra un clásico “Hola Mundo”.

Para ello pondremos el siguiente código:


Como veis no tiene mucho misterio, es un bloque de texto que obligatoriamente tiene un nombre, le hemos puesto un texto y le asignamos el nombre del método que se ejecutará cuando se cumpla la propiedad “MouseLeftButtonUp” o como los mortales lo llaman, click.

Evidentemente el método, en mi caso “Saluda” tenemos que programarlo. Los archivos xaml guardan únicamente información de presentación, por lo que ese método, al ser lógica de negocio debe estar en los cs. Nos dirigimos al Page.xaml.cs y ponemos el código:

        public void Saluda(object sender, MouseEventArgs e)
        {
            TextBlock textBlock = (TextBlock)sender;
            if (textBlock.Text == "Pincha aquí")
                textBlock.Text = "Hola Mundo!";
            else
                textBlock.Text = "Pincha aquí";
        }

Es todo bastante legible… salvo la primera línea. El problema es que no podemos acceder directamente al objeto “TextBlock” que definimos en el xaml, sino que tiene que llegarnos por medio del evento. Como todos los eventos tienen un source (que es el objeto que los genera) no tenemos problema, eso sí, debemos ahormarlo a TextBlock pues los eventos nos devuelven objetos de tipo object.

Ya está todo listo, ahora sólo queda probarlo, así que le damos “al play” (Debug -> Start debugging” y obtendremos:

Hola Mundo Silverlight

Tras un click:

Hola Mundo Silverlight

Como veis no es que sea difícil, pero muchos de los errores que pueden cometerse en el código compilan perfectamente y dan un bonito y críptico error. Por ejemplo, si ponemos mal el nombre del método a llamar (por ejemplo, cambiad “Saluda” por “Saluda1” en el xaml) y compilamos, no dará problemas. En tiempo de ejecución nos dará un error estilo:

Error Silverlight

Si de ahí sacáis de dónde viene el error, felicidades podéis trabajar en ensamblador :p

Por Carballude

Me llamo Pablo Carballude González, soy graduado en computación con master en HCI y Seguridad Informática. Actualmente trabajo para Amazon en Seattle como Software Developer Engineer. Soy de esas personas que no saben si los textos autobiográficos deben ser en primera o tercera persona. Lo intenté en segunda, pero no le entendí nada :P

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *