我正在使用以下代码在设备上创建实时磁贴:
ShellTile tile = ShellTile.ActiveTiles.FirstOrDefault();
StandardTileData newTileData = new StandardTileData
{
BackgroundImage = new Uri(string.Format("isostore:{0}", DefaultLiveTilePath), UriKind.Absolute),
Title = "Test"
};
tile.Update(newTileData);
稍后我想删除实时图块图像,并在固定时将其恢复为应用程序图标。这可能吗?
答案 0 :(得分:6)
根据此blog,您应该使用此代码
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();
}
}
答案 1 :(得分:3)
每次应用启动时,我都会将我的磁贴重置为正常状态时使用以下代码:
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);
}
答案 2 :(得分:2)
ShellTile.ActiveTiles.FirstOrDefault();
已过时。
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);
}
基于研究并感谢robertftw