tomasslavicek

Pin to start - Windows Phone live tile

Sep 15th, 2013
152
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.50 KB | None | 0 0
  1. /// <summary>
  2. /// Připne danou dlaždici jako sekundární ke startu
  3. /// </summary>
  4. private void PinToStart(Tile tileObject)
  5. {
  6.     // Nejdřív uložím aktuální stav plánu... Protože tombstoning ani nemusí nastat!!!
  7.     GamePage.SaveState(device);            
  8.            
  9.     // Vygeneruji obrázku pro tuto live tile
  10.     string oldID = Settings.LoadedFileID;
  11.     Settings.LoadedFileID = tileObject.GuID;
  12.     Settings.LoadPlan(device, gdm);
  13.  
  14.     string img1 = tileObject.GuID + "_1.png";
  15.     string img2 = tileObject.GuID + "_2.png";
  16.     bool firstTile = false, secondTile = false;
  17.     Settings.SetImageToLiveTile(device, SharedGraphicsDeviceManager.Current, img1, img2, out firstTile, out secondTile);
  18.     StandardTileData tileData = Settings.GenerateTileData(img1, img2, firstTile, secondTile);
  19.  
  20.     Settings.LoadedFileID = oldID;
  21.     Settings.LoadPlan(device, gdm);
  22.  
  23.     tileObject.IsPinned = true;
  24.  
  25.     // Nastavím ji (nebo vytvořím novou, pokud neexistovala)
  26.     ShellTile tile = ShellTile.ActiveTiles.FirstOrDefault(t => t.NavigationUri.ToString().EndsWith("id=" + tileObject.GuID));
  27.     if (tile != null)
  28.         tile.Update(tileData);
  29.     else
  30.         ShellTile.Create(new Uri("/GamePage.xaml?id=" + tileObject.GuID, UriKind.Relative), tileData); // Bude proveden tombstoning!!!      
  31.            
  32.     //...ostatní dlaždice už budou přegenerovány, když bude dostatek času (protože se volá Closing), hlavní je, že byl uložen tento plán (ještě před tombstoningem)
  33. }
Add Comment
Please, Sign In to add comment