我有一个带有固定二级活动瓷砖的应用程序,它们显示在瓷砖背面的日子,我想减少每天的天数。现在问题是,我不想更改磁贴的其他属性(如标题,图像等),只改变背面的内容(字符串):FlipTileData.BackContent
所以我不想创建新的FlipTileData来将其作为Update方法的参数传递。
第二个问题:我怎么知道哪个瓷砖是我要更新的? 我试过这个:
foreach (ShellTile tile in ShellTile.ActiveTiles)
但是tile没有给我帮助的属性。我应该使用NavigationUri找出那块瓷砖吗?
答案 0 :(得分:1)
请按照此示例Working with Live Tiles in 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);
}
}