如何在Windows 10 uwp中的辅助磁贴上显示多个图像?

时间:2016-01-21 14:05:31

标签: c# xaml windows-runtime uwp

我正在尝试创建一个辅助磁贴,它会像照片应用中那样显示旋转的图片。我尝试过这样的事情:

SecondaryTile tile = GenerateSecondaryTile("NewTile", "SecondaryTile");
await tile.RequestCreateAsync();
var ImageUrl = selectedFileList.ElementAt(0).Path;
string tileXmlString =
"<tile>"
+ "<visual>"
+ "<binding template='TileSmall'>"
+ "<image  src='" + selectedFileList.ElementAt(0).Path + "' alt='image'/>"
+ "<image  src='" + selectedFileList.ElementAt(1).Path + "' alt='image'/>"
+ "<image  src='" + selectedFileList.ElementAt(2).Path + "' alt='image'/>"
+ "<image  src='" + selectedFileList.ElementAt(3).Path + "' alt='image'/>"
+ "<image src='" + selectedFileList.ElementAt(4).Path + "' alt='image'/>"
+ "</binding>"
+ "</visual>"
+ "</tile>";

XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(tileXmlString);
TileNotification notifyTile = new TileNotification(xmlDoc);
TileUpdateManager.CreateTileUpdaterForSecondaryTile(tile.TileId).Update(notifyTile);

我尝试将类型设置为背景和窥视,但它没有提供所需的结果。而且我也不想使用后台任务,因为我的应用程序已经使用了一个,我不想增加可能导致任务完全失败的开销。我不介意图像是否像之前在Windows Phone 8.1中那样限制为5。

供参考:检查this:跳至0:30

1 个答案:

答案 0 :(得分:0)

这适用于Primary Tile,但它应该以相同的方式工作。制作自己的XML模板,然后引用您的图像。启用通知队列,然后使用TileNotification更新Tile。这样做最多可以将五张图像放在Live Tile堆栈上。

var myStorageFile = await Package.Current.InstalledLocation.GetFileAsync("LiveTileTemplate.xml");
string liveTileTemplate = await FileIO.ReadTextAsync(myStorageFile);
liveTileTemplate = liveTileTemplate.Replace("squareImageSource", FilePathFullPrefix + GetFilePathSquareTile(imageID));

TileUpdateManager.CreateTileUpdaterForApplication().EnableNotificationQueue(true);
TileUpdateManager.CreateTileUpdaterForApplication().Update(new TileNotification(mergedXML));