0

我可以将多个图块作为 XML 返回吗?“天气”、“金融”或“新闻”应用程序如何在磁贴中显示多个结果?我尝试创建这样的 XML,但没有成功:

<tile>
    <visual lang="en-US">
        <binding template="TileWideSmallImageAndText04">
            <image id="1" src="URLOFIMG" alt="alt text"/>
            <text id="1">Some Text</text>
            <text id="2">Text Field 2</text>
        </binding>
        <binding template="TileWideSmallImageAndText04">
            <image id="1" src="URL2" alt="alt text"/>
            <text id="1">SOME TEXT</text>
            <text id="2">Text Field 2</text>
        </binding>
        <binding template="TileWideSmallImageAndText04">
            <image id="1" src="URL" alt="alt text"/>
            <text id="1">TEXT</text>
            <text id="2">Text Field 2</text>
        </binding>
    </visual>
</tile>
4

3 回答 3

4

不允许在单个 XML 负载中放置多个宽 tile 绑定(或多个方形 tile 绑定)。换句话说,磁贴通知 XML 有效负载最多可以包含一个宽磁贴绑定和最多一个方形磁贴绑定。

也就是说,可以通过定期更新或任何其他传递机制(本地、推送或计划)提供多个图块通知。

默认情况下,磁贴只会显示最近的磁贴通知。通过启用磁贴通知队列,一次最多可以为任何给定磁贴存储五个磁贴通知。

然后可以将定期更新配置为在每个间隔使用 TileUpdater.StartPeriodicUpdate 从一个 Web URL 下载,或者使用TileUpdater.StartPeriodicUpdateBatch从最多五个 Web URL下载。通过提供返回不同磁贴通知 XML 有效负载的 URL,多个通知将显示在磁贴上。

此处有关定期更新的更多详细信息:http: //msdn.microsoft.com/en-us/library/windows/apps/hh761476

于 2012-09-10T17:13:40.297 回答
1

您是否尝试过查看示例应用程序

    private void SendTileNotificationWithStringManipulation_Click(object sender, RoutedEventArgs e) 
    { 
        Button button = sender as Button; 
        if (button != null) 
        { 
            string tileXmlString = "<tile>" 
                                 + "<visual>" 
                                 + "<binding template='TileWideText04'>" 
                                 + "<text id='1'>Send to a secondary tile from strings</text>" 
                                 + "</binding>" 
                                 + "<binding template='TileSquareText04'>" 
                                 + "<text id='1'>Send to a secondary tile from strings</text>" 
                                 + "</binding>" 
                                 + "</visual>" 
                                 + "</tile>"; 

            Windows.Data.Xml.Dom.XmlDocument tileDOM = new Windows.Data.Xml.Dom.XmlDocument(); 
            tileDOM.LoadXml(tileXmlString); 
            TileNotification tile = new TileNotification(tileDOM); 

            // Send the notification to the secondary tile by creating a secondary tile updater 
            TileUpdateManager.CreateTileUpdaterForSecondaryTile(MainPage.dynamicTileId).Update(tile); 

            rootPage.NotifyUser("Tile notification sent to " + MainPage.dynamicTileId, NotifyType.StatusMessage); 
        } 
    } 

如何固定辅助磁贴的示例PinLiveTile_Click()

编辑:要定期更新,请参见此处

于 2012-09-10T16:35:22.983 回答
0

正如 Nathan 指出的那样,您只能有一个正方形和一个宽图块,但请查看宽图块的范围(特别是 TileWidePeekImageCollection06)可用图块列表可在此处找到:http: //msdn.microsoft.com/en -us/library/windows/apps/hh761491.aspx#TileWideImageAndText01

如果这仍然不能解决您的要求,那么唯一的另一种方法是使用辅助磁贴。

于 2013-01-04T13:46:43.253 回答