2

我目前正在为我的 Windows 8 应用程序实现动态磁贴。现在我想要两种不同的瓷砖样式(小的和放大的)。我试过这样:

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

这是正确的方法吗?

此外,似乎磁贴内只显示了一些数据,而不是列表中的每个元素。

谢谢你的帮助。

4

1 回答 1

2

您只需要一个 TileUpdater。查看本文中的代码示例(向下滚动到“这是最终代码”)。

从本质上讲,由于您不知道用户是否将您的图块放置为方形或宽格式,您需要在一个有效负载中发送两者的更新。

如果您希望最后 5 次更新全部滚动磁贴,则应仅将EnableNotificationQueue设置为 true。如果您只想显示最新更新并替换其他更新,请将其设置为 false(或不执行任何操作,因为 false 是默认值)。

于 2012-12-04T17:16:09.290 回答