更新动态磁贴,但哪一个是
本文关键字:哪一个 动态 更新 | 更新日期: 2023-09-27 18:35:14
我有一个带有固定辅助动态磁贴的应用程序,它们在磁贴背面显示天数,我想减少每天的天数。现在的问题是,我不想更改磁贴的其他属性(例如标题,图像等),而只想更改背面的内容(字符串):FlipTileData.BackContent
所以我不想创建新的 FlipTileData 来将其作为 Update 方法的参数传递。
第二个问题:我怎么知道我要更新的是哪个磁贴?我试过这个:
foreach (ShellTile tile in ShellTile.ActiveTiles)
但瓷砖没有给我帮助的属性。我应该使用 NavigationUri 来找出哪个磁贴吗?
按照此示例在 Windows Phone 7 中使用动态磁贴,它应该可以解决您的问题。
请注意代码上的x.NavigationUri.ToString().**Contains("Title=SecondaryTile")**
。
编辑:
结合该网站的几行代码:
// modify Application Secondary Tile data
private void updateTile_Click(object sender, RoutedEventArgs e)
{
// get application specific tile - EXAMPLE
ShellTile Tile = ShellTile.ActiveTiles.FirstOrDefault(x => x.NavigationUri.ToString().Contains("Title=SecondaryTileEXAMPLE_TITLE"));
if (null != tile)
{
// create a new data for tile
StandardTileData data = new StandardTileData();
// tile foreground data
data.Title = "Title text here";
data.BackgroundImage = new Uri("/Images/Blue.jpg", UriKind.Relative);
data.Count = random.Next(99);
// to make tile flip add data to background also
data.BackTitle = "Secret text here";
data.BackBackgroundImage = new Uri("/Images/Green.jpg", UriKind.Relative);
data.BackContent = "Back Content Text here...";
// update tile
tile.Update(data);
}
}