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