我目前正在为我的Windows 8 App实现实时图块。现在我想要两种不同的瓷砖样式(对于小样式和放大样式)。我试过这样的话:
var tileUpdater = TileUpdateManager.CreateTileUpdaterForApplication();
var tileUpdaterBig = TileUpdateManager.CreateTileUpdaterForApplication();
tileUpdater.Clear();
tileUpdaterBig.Clear();
tileUpdater.EnableNotificationQueue(true);
tileUpdaterBig.EnableNotificationQueue(true);
foreach (var item in Articles)
{
var xml = TileUpdateManager.GetTemplateContent(TileTemplateType.TileSquareText04);
var bigXML = TileUpdateManager.GetTemplateContent(TileTemplateType.TileWideText09);
var textElements = xml.GetElementsByTagName("text");
var bigTextElements = bigXML.GetElementsByTagName("text");
textElements[0].AppendChild(xml.CreateTextNode(item.Title));
bigTextElements[0].AppendChild(bigXML.CreateTextNode(item.Title));
bigTextElements[1].AppendChild(bigXML.CreateTextNode(item.Preview));
var notification = new TileNotification(xml);
var notificationBig = new TileNotification(bigXML);
tileUpdater.Update(notification);
tileUpdaterBig.Update(notificationBig);
}
这是正确的方法吗?
此外,似乎瓷砖内部只显示了一些数据,而不是列表中的每个元素。
感谢您的帮助。
答案 0 :(得分:2)
您只需要一个TileUpdater。查看this article中的代码示例(向下滚动到“这是最终代码”)。
基本上,由于您不知道用户是否已将您的磁贴放在方形或宽格式中,因此您需要在一个有效负载中发送两者的更新。
如果您希望最后5次更新全部滚动显示图块,则只应将EnableNotificationQueue设置为true。如果您只想显示最新更新并替换其他更新,请将此设置为false(或不执行任何操作,因为false是默认值)。