我这里的这个小代码在我的Windows Phone应用程序ScheduledTaskAgent
中执行,如果执行此代码,则会显示一些数据。
我在此代码之前进行了比较,只有在有新数据时才会执行。
现在我不知道如何将每次实时磁贴更新+1(一)int添加到我使用的FlipTile
的计数中。这是我的代码:
ShellTile appTile = ShellTile.ActiveTiles.First();
if (appTile != null)
{
FlipTileData TileData = new FlipTileData()
{
Title = "",
BackTitle = "my App",
BackContent = title.Collection.ElementAt(0).Title.ToString(),
WideBackContent = title.Collection.ElementAt(0).Title.ToString(),
Count = , //?????
};
appTile.Update(TileData);
如果执行此代码,如何计算每次计数?
我真的不知道。我尝试使用+1,但它是一个int并且它不会将此+1给予下一个实时图块更新,因此计数应为2.
我必须说ScheduledTaskAgent
完成它的工作,然后调用它的一个新实例,所以我认为必须保存在count中首先调用的值,然后在下一次调用时检索并添加到它+1。但是如何?
答案 0 :(得分:1)
我今天找到了一个简单的解决方案。我利用隔离存储来保存计数,并在每次更新时给它+1,然后再次保存新号码(旧+ 1)=新号码等等:)这是我现在使用的代码。它在ScheduledTaskAgent中完美地工作以更新Live Tile。
ShellTile appTile = ShellTile.ActiveTiles.First();
if (appTile != null)
{
if (IsolatedStorageSettings.ApplicationSettings.Contains("LiveTileCount"))
{
int count = (int)IsolatedStorageSettings.ApplicationSettings["LiveTileCount"];
FlipTileData TileData = new FlipTileData()
{
Count = count +1,
};
IsolatedStorageSettings settings2 = IsolatedStorageSettings.ApplicationSettings;
if (!settings2.Contains("LiveTileCount"))
{
settings2.Add("LiveTileCount", TileData.Count);
}
else
{
settings2["LiveTileCount"] = TileData.Count;
};
settings2.Save();
}
else
{
FlipTileData TileData = new FlipTileData()
{
Count = 1,
};
IsolatedStorageSettings settings2 = IsolatedStorageSettings.ApplicationSettings;
if (!settings2.Contains("LiveTileCount"))
{
settings2.Add("LiveTileCount", TileData.Count);
}
else
{
settings2["LiveTileCount"] = TileData.Count;
};
settings2.Save();
}
}
else
{
NotifyComplete();
}
}
else
{
NotifyComplete();
}