Featured Posts

Diplomado de desarrollo de aplicaciones para Windows Phone 7.1–LatinoaméricaDiplomado de desarrollo de aplicaciones para Windows... Los invito cordialmente a que se inscriban al Diplomado de desarrollo de aplicaciones para Windows Phone 7.1, impulsado por Microsoft México para todo el mundo!  Completamente...

Readmore

Nueva carrera en Microsoft Virtual Academy: Windows Phone 7.1 (Mango)Nueva carrera en Microsoft Virtual Academy: Windows... Tengo el gusto de darles a conocer la disponibilidad de una nueva carrera en el Microsoft Virtual Academy (MVA): La carrera de Windows Phone 7.1 Mango. Esta es la descripción...

Readmore

Nueva carrera en Microsoft Virtual Academy: Silverlight 4Nueva carrera en Microsoft Virtual Academy: Silverlight... ¿Eres estudiante de Microsoft Virtual Academy (MVA)? Tengo el gusto de anunciarles oficialmente el lanzamiento de la nueva carrera de Silverlight 4 para esta plataforma educativa. La...

Readmore

Rodrigo Díaz Concha Rss

MIX 2010

Posted on : 23-12-2009 | By : Rodrigo | In : Eventos, MIX 2010

Tags: , , , ,

0

March 15, 2010toMarch 17, 2010

image

Hola a todos les recuerdo que ya está abierto el registro para el MIX 2010 a celebrarse del 15 al 17 de Marzo 2010 en el hotel Mandalay Bay de Las Vegas, Nevada.  MIX es el evento magistral de Microsoft para tecnologías Web en donde en los últimos años han dado a conocer las últimas versiones y futuro de Silverlight y en este evento creo yo no será la excepción.

Les invito a que se registren y aprovechen la promoción existente para pagar antes del 15 de enero un precio reducido de $795 USD.

¡Nos vemos en Las Vegas!

Silverlight 4 Beta – Brocha HTML

Posted on : 10-12-2009 | By : Rodrigo | In : Silverlight 4

Tags: , ,

1

En un artículo anterior dimos a conocer el nuevo control WebBrowser, incluído como parte de Silverlight 4 Beta, el cual nos permite mostrar contenido HTML en nuestras aplicaciones Fuera del Navegador, siendo ese contenido un HTML creado de manera dinámica o incluso alguna página Web externa.  En este artículo detallaremos el elemento HtmlBrush que nos brinda la oportunidad de ‘pintar’ nuestros elementos con el contenido cargado en el control WebBrowser.

El proyecto

Iniciaremos creando un nuevo proyecto de Silverlight 4 en Visual Studio 2010 Beta 2 y aceptaremos la opción predeterminada de crear una aplicación Web para probar la aplicación.

Clase HtmlBrush

La clase HtmlBrush es una clase derivada de TileBrush y nos permite usar un control WebBrowser con contenido HTML como fuente para poder pintar cualquier propiedad de tipo Brush en los elementos de Xaml.  La clase tiene la propiedad SourceName la  cual indica el nombre del control WebBrowser que deseamos utilizar como fuente.  Asimismo, expone el método SetSource() para que programáticamente podamos establecer la fuente sobre este tipo de brocha.  El siguiente fragmento de código muestra la utilización más básica de esta brocha en Xaml:


<Ellipse.Fill>
    <HtmlBrush x:Name="htmlbrush"
               SourceName="wb" />
</Ellipse.Fill>

El código anterior establece la propiedad SourceName al WebBrowser deseado, en este caso identificado con la variable wb.

HtmlBrush.Redraw()

La clase expone el método públic Redraw() el cual obliga a la brocha a dibujarse asimisma ya que no lo hace de manera automática.  Por este motivo, si tenemos como contenido del WebBrowser alguna página Web que incluya alguna animación o video necesitaremos ejecutar este método de manera recurrente, tal vez a través de un DispatcherTimer.  El siguiente fragmento de código muestra dicha técnica:

//Crea un timer para redibujar la brocha cada medio segundo
DispatcherTimer timer = new DispatcherTimer() { Interval = TimeSpan.FromMilliseconds(500) };
timer.Tick += (s, a) => htmlbrush.Redraw();  //Obliga a la brocha a dibujarse asimisma
timer.Start();

Cabe mencionar que esta brocha está disponible únicamente en Aplicaciones Fuera del Navegador, ya que ese es uno de los requisitos para el control WebBrowser.

Resultado

La siguiente figura muestra la aplicación aquí descrita finalizada, en donde podemos observar que la elipse del lado derecho es ‘pintado’ por medio de la brocha de tipo HtmlBrush.  Asimismo, la aplicación incluye un control de tipo Slider enlazado a una Proyección en Perspectiva, para poder corroborar que el comportamiento de esta clase es similar al resto de brochas ya conocidas en la plataforma.

image

Puedes descargar el código aquí

Puedes ver el demo en vivo aquí (requiere Silverlight 4 y tener la aplicación Fuera del Navegador)

Silverlight 4 Beta – Notificaciones

Posted on : 01-12-2009 | By : Rodrigo | In : Silverlight 4

Tags: , , ,

2

Silverlight 4 incorpora un mecanismo para notificar al usuario acerca de algún suceso ocurrido similar a cuando llega un nuevo correo en Outlook y que aparece la notificación en la esquina inferior derecha de nuestra pantalla.   En este artículo veremos a detalle esta nueva API de Notificaciones y cómo implementarla en nuestras aplicaciones.

El Proyecto

Crearemos un nuevo proyecto de Silverlight 4 en Visual Studio .NET 2010 Beta 2 y le pondremos el nombre Demo.SL4.Notificaciones, aceptando las opciones por default de crear un proyecto Web para poder probar la aplicación.  Además, configuraremos el proyecto de Silverlight para que la aplicación pueda ejecutar Fuera del Navegador.

Clase System.Windows.NotificationWindow

La clase NotificationWindow del espacio de nombres System.Windows es el punto de partida para crear notificaciones en nuestras aplicaciones.  El contenido de una notificación es establecida a través de la propiedad Content que es de tipo FrameworkElement, una de las clases principales en la jerarquía de clases de Silverlight y por tal motivo podemos establecer como contenido de la notificación cualquier elemento visual.

La característica de Notificaciones únicamente está disponible en Aplicaciones Fuera del Navegador (por lo menos en Silverlight 4 Beta)

Métodos Show() y Close()

Por otro lado, para mostrar una notificación ejecutamos el método Show(), el cuál recibe como parámetro un número expresado en milisegundos según el tiempo que desees que dure.  El siguiente código muestra la creación de una notificación, primero verificando que la aplicación esté ejecutando Fuera del Navegador:

if (Application.Current.IsRunningOutOfBrowser)
            {
                //Crea una nueva instancia de NotificationWindow
                NotificationWindow nw = new NotificationWindow();
                
                //Crea el contenido
                Grid grid = new Grid()
                {
                    Background = new SolidColorBrush(Colors.LightGray),
                    Width=400,
                    Height=100
                };
                TextBlock txt = new TextBlock()
                {   Text = DateTime.Now.ToString(),
                    HorizontalAlignment= System.Windows.HorizontalAlignment.Center,
                    VerticalAlignment= System.Windows.VerticalAlignment.Top,
                    FontSize=14
                };
                Button btn = new Button()
                {
                    Width = 100,
                    Height = 30,
                    Content = "Cerrar"
                };
                //Con el botón cerraremos la notificación
                btn.Click += (s, a) => nw.Close();

                grid.Children.Add(txt);
                grid.Children.Add(btn);

                //Establece el contenido
                nw.Content = grid;

                //Muestra la notificación durante 5 segundos
                nw.Show(5000);

            }

En el código estamos creando un Grid de color gris que nos servirá de contenedor para un TextBlock que mostrará la fecha y hora actual, y de un botón que nos servirá para cerrar la notificación en cuestión a través del método Close()

Nota: La documentación de Silverlight 4 Beta establece que los eventos que ocurren en el contexto de la notificación no se consideran como iniciados por el usuario, por lo que no podras ejecutar código que así lo requiera (OpenFileDialog, SaveFileDialog y usar el Portapapeles son un buen ejemplo de esto), no obstante, esto es posible.  No estoy seguro si esto cambie en la versión final de Silverlight 4.

El resultado:

image

Como podemos apreciar en la anterior figura, las notificaciones aparecerán en la esquina inferior derecha del monitor primario que tengas configurados, a una distancia de –44,-44 pixeles de distancia de la esquina; ese es el espacio vacío que se ve a la derecha y abajo de la notificación.

También podemos darnos cuenta que el área para la notificación no es más que un lienzo de 400 x 100 pixeles; y tu contenido no deberá rebasar este tamaño establecido de manera predeterminada.

Evento Closed

La clase NotificationWindow expone el evento Closed, el cual se dispara cuando cierras la notificación explícitamente usando el método Close() o cuando el tiempo en milisegundos especificado en el método Show() se ha cumplido.  En la aplicación de ejemplo que aquí desarrollamos manejamos el evento para mostrar en un ListBox que una notificación ha sido cerrada; además, las notificaciones se están creando cada 10 segundos.

Resultado

image

Puedes descargar el código aquí

Puedes ver la demo en vivo aquí (requiere Silverlight 4 y ejecutar la aplicación Fuera del Navegador)

Silverlight Tour – Caracas (07 al 09 de Diciembre 2009)

Posted on : 30-10-2009 | By : Rodrigo | In : Eventos, Silverlight 3, Silverlight 4, Silverlight Tour Workshop

Tags: , , , , , , ,

7

December 7, 2009toDecember 9, 2009

Silverlight está siendo cada vez más usado por más y más empresas y desarrolladores para construir aplicaciones enriquecidas para Internet ¿estás listo?

Esta es una buena noticia para todos mis panas Venezolanos: el Silverlight Tour vuelve a la ciudad de Caracas, Venezuela para llevarse a cabo del 07 al 09 de Diciembre 2009.

Asimismo, esta es el primer curso del Silverlight Tour en Español con los bits de Silverlight 4 Beta en toda la agenda mundial.

El Silverlight Tour Workshop es un curso presencial de tres días con profundos conceptos técnicos acerca de Silverlight 3 Silverlight 4 Beta y está totalmente en Español.  Así que si están interesados en aprender Silverlight en manos de los expertos no lo piensen más y regístrense ahora.

Además de las 27 o más horas que dure este entrenamiento podremos disfrutar juntos algunos buenos litros de Maltín Polar! :P

¡Los esperamos!