Créer une Tuile dynamique avec des images locales

Lors de l’un de mes développement, j’ai eu besoin de créer une tuile dynamique mais pas avec un push depuis un serveur mais avec des images que j’avais dans mon application. Puisque j’ai du pas mal chercher, je vous propose donc ma solution.

Pour cet exemple, j’ai pris le flux RSS de Bonjour Hamster qui donne chaque jour une nouvelle photo d’un hamster. A la fin du tutorial, on aura une tuile dynamique avec 5 photos de hamster qui défilent. Cet exemple est très basique, libre à vous d’adapter à vos besoin après.

Je vous passe les détails de la lecture du flux RSS puisque le but est de voir comment créer la tuile mais au final, j’obtiens une liste de “HamsterItem”.

 List HamsterItems

Chaque HamsterItem possède un titre et une uri (image).

     public class HamsterItem     {         public string Title { get; set; }         public Uri Image { get; set; }     }

Voici la méthode qui va créer mes tiles. La première chose qui est faite, c’est de dire qu’on active la mise en queue des tiles que l’on va créer (maximum 5). Ensuite, on parcours nos HamsterItem. Dans le cas ou on a 5, on quitte notre boucle (ça ne sert à rien de continuer), sinon on va créer un schéma pour notre tile et ensuite ajouter ce schéma à notre tuile existante. Voici donc le code

 private void CreateTiles(IEnumerable HamsterItems) { TileUpdateManager.CreateTileUpdaterForApplication().EnableNotificationQueue(true); int count = 1; foreach (HamsterItem feedItem in HamsterItems) { count++; if (count > 5) break; string imageUrl = feedItem.Image.ToString(); string imageTitle = feedItem.Title; // Generate Schema For Large Tile string xmlString = "  "; xmlString += " "; xmlString += " " + imageTitle + ""; // Generate Schema For Square Tile xmlString += "  " + "" + ""; Windows.Data.Xml.Dom.XmlDocument doc = new Windows.Data.Xml.Dom.XmlDocument(); TileNotification tile = new TileNotification(doc); doc.LoadXml(xmlString); TileUpdateManager.CreateTileUpdaterForApplication().Update(tile); } }

Il existe plusieurs templates de tuiles disponibles, voici un lien avec tous les schémas : http://msdn.microsoft.com/en-us/library/windows/apps/hh761491.aspx

Un petit lien avec les sources de l’application au cas ou je n’ai pas été très claire.

Les sources ici

No Comments

Post a Comment