c# windows-phone-7 live-tile

c# - WP7 Mango: ¿Cómo elimino un mosaico en vivo?



windows-phone-7 live-tile (3)

De acuerdo con este blog deberías usar este código

public void DeleteExistingTile() { var foundTile = ShellTile.ActiveTiles.FirstOrDefault(x => x.NavigationUri.ToString().Contains("DetailId=123")); // If the Tile was found, then delete it. if (foundTile != null) { foundTile.Delete(); } }

Estoy creando un mosaico en vivo en el dispositivo con el siguiente código:

ShellTile tile = ShellTile.ActiveTiles.FirstOrDefault(); StandardTileData newTileData = new StandardTileData { BackgroundImage = new Uri(string.Format("isostore:{0}", DefaultLiveTilePath), UriKind.Absolute), Title = "Test" }; tile.Update(newTileData);

En un momento posterior, me gustaría eliminar la imagen del mosaico en vivo y hacer que vuelva al ícono de la aplicación cuando se fije. es posible?


Estoy usando el siguiente código al restablecer mi azulejo a la normalidad cada vez que se inicia la aplicación:

private void ResetLiveTileToNormal() { ShellTile TileToFind = ShellTile.ActiveTiles.FirstOrDefault(); ShellTileData shellData = new StandardTileData { Title = "XXXXXXXX", Count = 0, BackContent = "", BackTitle = "", BackBackgroundImage = new Uri("", UriKind.Relative), BackgroundImage = new Uri(@"/Images/LiveTiles/XXXXXX.png", UriKind.Relative) }; TileToFind.Update(shellData); }


ShellTile.ActiveTiles.FirstOrDefault(); es obsoleto.

void clearTile() { ShellTileData tileData = new StandardTileData { Title = "", Count = 0, BackContent = "", BackTitle = "", BackBackgroundImage = new Uri("", UriKind.Relative), BackgroundImage = new Uri(@"/ApplicationIcon.png", UriKind.Relative) }; IEnumerator<ShellTile> it = ShellTile.ActiveTiles.GetEnumerator(); it.MoveNext(); ShellTile tile = it.Current; tile.Update(tileData); }

Basado en investigaciones y gracias a robertftw