Windows 8 定期更新中的多个分片

Windows 8 定期更新中的多个分片,windows-8,microsoft-metro,Windows 8,Microsoft Metro,我可以以XML的形式返回多个磁贴吗?“天气”、“金融”或“新闻”应用程序如何在tile中显示多个结果?我尝试创建这样的XML,但没有成功: <tile> <visual lang="en-US"> <binding template="TileWideSmallImageAndText04"> <image id="1" src="URLOFIMG" alt="alt text"/>

我可以以XML的形式返回多个磁贴吗?“天气”、“金融”或“新闻”应用程序如何在tile中显示多个结果?我尝试创建这样的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>

一些文本
文本字段2
一些文本
文本字段2
正文
文本字段2

你有没有试着看一下屏幕

private void sendtilenoficationwithstringmanipulation\u单击(对象发送方,路由目标)
{ 
按钮按钮=发送器为按钮;
如果(按钮!=null)
{ 
string tileXmlString=“”
+ "" 
+ "" 
+“从字符串发送到辅助磁贴”
+ "" 
+ "" 
+“从字符串发送到辅助磁贴”
+ "" 
+ "" 
+ ""; 
Windows.Data.Xml.Dom.XmlDocument tileDOM=新的Windows.Data.Xml.Dom.XmlDocument();
LoadXml(tileXmlString);
TileNotification瓷砖=新的TileNotification瓷砖(tileDOM);
//通过创建辅助磁贴更新程序向辅助磁贴发送通知
TileUpdateManager.CreateTileUpdateForSecondarytile(MainPage.dynamicTeleid.Update(tile));
NotifyUser(“磁贴通知发送到“+MainPage.dynamictleId,NotifyType.StatusMessage”);
} 
} 
如何在
PinLiveTile\u Click()

编辑:
要进行定期更新,请参阅。

您是否尝试过查看

private void sendtilenoficationwithstringmanipulation\u单击(对象发送方,路由目标)
{ 
按钮按钮=发送器为按钮;
如果(按钮!=null)
{ 
string tileXmlString=“”
+ "" 
+ "" 
+“从字符串发送到辅助磁贴”
+ "" 
+ "" 
+“从字符串发送到辅助磁贴”
+ "" 
+ "" 
+ ""; 
Windows.Data.Xml.Dom.XmlDocument tileDOM=新的Windows.Data.Xml.Dom.XmlDocument();
LoadXml(tileXmlString);
TileNotification瓷砖=新的TileNotification瓷砖(tileDOM);
//通过创建辅助磁贴更新程序向辅助磁贴发送通知
TileUpdateManager.CreateTileUpdateForSecondarytile(MainPage.dynamicTeleid.Update(tile));
NotifyUser(“磁贴通知发送到“+MainPage.dynamictleId,NotifyType.StatusMessage”);
} 
} 
如何在
PinLiveTile\u Click()

编辑:
要进行定期更新,请参见。

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

也就是说,可以通过定期更新或任何其他交付机制(本地、推送或计划)提供多个磁贴通知

默认情况下,磁贴将仅显示最近的磁贴通知。到,对于任何给定的磁贴,一次最多可以存储五个磁贴通知

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

有关定期更新的更多详细信息,请参见此处:
不允许在单个XML负载中放置多个宽磁贴绑定(或多个方形磁贴绑定)。换句话说,平铺通知XML负载最多可以包含一个宽平铺绑定和一个方形平铺绑定

也就是说,可以通过定期更新或任何其他交付机制(本地、推送或计划)提供多个磁贴通知

默认情况下,磁贴将仅显示最近的磁贴通知。到,对于任何给定的磁贴,一次最多可以存储五个磁贴通知

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

有关定期更新的更多详细信息,请参见此处:

正如Nathan所指出的,您只能拥有一个正方形和一个宽瓷砖,但请查看宽瓷砖的范围(尤其是瓷砖依赖于EkimageCollection06) 可用磁贴列表可在此处找到:


如果这仍然不能解决您的需求,那么唯一的其他方法就是使用辅助瓷砖

正如Nathan所指出的,您只能拥有一个正方形和一个宽瓷砖,但请查看宽瓷砖的范围(特别是瓷砖依赖于EkimageCollection06) 可用磁贴列表可在此处找到:


如果这仍然不能解决您的需求,那么唯一的其他方法就是使用辅助瓷砖

不,我不是想这么做。我需要的是发送具有“相同”模板的多个互动程序。所以它们都可以出现在同一个地方。我不确定你所说的“同一个地方”是什么意思,正如内森在回答中指出的那样,你不能在一次更新中发送多个通知。不,我不想这样做。我需要的是发送具有“相同”模板的多个互动程序。所以他们
    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); 
        } 
    }