更新Live Tile但是哪一个是?

时间:2013-10-14 18:51:28

标签: c# windows-phone-8

我有一个带有固定二级活动瓷砖的应用程序,它们显示在瓷砖背面的日子,我想减少每天的天数。现在问题是,我不想更改磁贴的其他属性(如标题,图像等),只改变背面的内容(字符串):FlipTileData.BackContent 所以我不想创建新的FlipTileData来将其作为Update方法的参数传递。

第二个问题:我怎么知道哪个瓷砖是我要更新的? 我试过这个:

foreach (ShellTile tile in ShellTile.ActiveTiles)但是tile没有给我帮助的属性。我应该使用NavigationUri找出那块瓷砖吗?

1 个答案:

答案 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);
    }
}