En el artículo anterior se veía cómo personalizar el tile principal de nuestra aplicación para agregar contenido dinámico. Sin embargo, otra de las opciones que nos da Windows 8, al igual que Windows Phone 7, es la de crear accesos secundarios a nuestra aplicación. Además, en el caso de Metro para Windows 8 tenemos la posibilidad de usar un tile de tamaño doble, pudiendo así dar más información.
En este artículo se verá cómo usar un tile de tamaño doble para mostrar más información sobre la aplicación así cómo generar un tile secundario para nuestra aplicación.
Tiles secundarios
Un tile secundario proporciona la capacidad de agregar accesos a la pantalla de inicio que, al cargarlos, se dirijan a una sección concreta de nuestra aplicación (En el ejemplo iremos a un proyecto concreto). Al cargar la aplicación, es importante destacar que lo que se abrirá es una instancia nueva de la aplicación, es decir, el hecho de que el tile esté presente no implica que la aplicación esté ejecutándose en segundo plano.
El primer paso es agregar la referencia al espacio de nombres Windows.UI.StartScreen:
using Windows.UI.StartScreen;
Una vez agregada, se pasa a definir una variable de tipo SecondaryTile, que contendrá la siguiente información:
- Título
- Título secundario
- Argumentos de activación (donde podemos poner argumentos adicionales, como la ruta de la nueva página)
- Logo
Posteriormente se genera una solicitud de creación de tile, que deberá ser aprobada por el usuario.
//Se establecen los atributos de activación Uri logo = new Uri("ms-resource:images/Logo.png"); string tileActivationArguments = "ArgumentosDeActivacion"; //Se genera el tile SecondaryTile secondaryTile = new SecondaryTile(MainPage.tileId, "Acceso Secundario", "Un ejemplo práctico", tileActivationArguments, TileDisplayAttributes.ShowName, logo); //Se solicita al usuario que autorice la creación del tile, es importante la funcion de la palabra reservada await. await secondaryTile.RequestCreateAsync();
El código mostrado se puede usar en un botón para agregar un elemento concreto, lo que implicará que, al pulsarlo, obtengamos la siguiente imagen:

Finalmente, quedaría comprobar los argumentos por los cuales se carga la aplicación. Esto se realiza en el método OnLaunched situado en el fichero App.xaml.cs, que recibe los argumentos de la aplicación, lo que permite procesar la información mediante el valor args.Arguments, que contiene los valores que hemos especificado antes, el resto es historia :)
Tiles de tamaño doble
Una ventaja adicional de Metro para Windows 8 son las tiles de tamaño doble, que permiten disponer de un espacio más amplio para mostrar mensajes. Es importante detallar que aunque cree un tile de tamaño doble será el usuario quien decida si usar la vista ampliada o reducida.
Para poder agregar un tile de tamaño doble, primeramente es necesario agregar un icono de tamaño doble (310×150) ya que de otra manera el sistema no será capaz de procesarlo. Para ello es necesario acudir a nuestro siempre socorrido Package.appxmanifest y agregar una imagen en el apartado Wide Logo:
El código empleado es muy similar al visto en el anterior artículo, con la diferencia de que este actualiza un texto, y la plantilla seleccionada es diferente.
void ActualizarTileDoble(string text) { // Se obtiene desde la plantilla el documento XML que contendrá el XML del icono XmlDocument tileXml = TileUpdateManager.GetTemplateContent(TileTemplateType.TileWideText03); // Se edita el XML para agregar los datos deseados, en este caso será un atributo hijo que contendrá el texto XmlNodeList textElements = tileXml.GetElementsByTagName("text"); textElements.Item(0).AppendChild(tileXml.CreateTextNode(text)); // Se crea una notificación desde el XML editado TileNotification tile = new TileNotification(tileXml); // Finalmente, se actualiza el contenido de la aplicación TileUpdateManager.CreateTileUpdaterForApplication().Update(tile); }
El resultado se muestra a continuación:
Resumen
En este, y en el anterior artículo se ha visto cómo crear tiles y usarlos desde la propia aplicación. El hecho de poder mostrar información contextual permite que los usuarios puedan acceder a información de la aplicación con ella cerrada, lo que permite que el usuario vuelva a ella, en comparación con otras que no posean estas características.