由于设置图像错误,活动磁贴不工作
本文关键字:活动 工作 错误 图像 于设置 设置 | 更新日期: 2023-09-27 18:07:44
我的app . example .cs页面包含如下方法:
public static void SendLiveTileUpdate(Record rr)
{
string imageUristring = "ms-appdata:///local/" + rr.Id.ToString() + ".jpg";
XmlDocument wideTileXml = TileUpdateManager.GetTemplateContent(TileTemplateType.TileWideImageAndText01);
XmlNodeList wideTileTextAttrib = wideTileXml.GetElementsByTagName("text");
wideTileTextAttrib[0].InnerText = rr.Name;
XmlNodeList wideTileImageAttrib = wideTileXml.GetElementsByTagName("image");
//((XmlElement)wideTileImageAttrib[0]).SetAttribute("src", "ms-appdata:///local/" + rr.Id.ToString() + ".jpg");
((XmlElement)wideTileImageAttrib[0]).SetAttribute("src", imageUristring);
((XmlElement)wideTileImageAttrib[0]).SetAttribute("alt", "Image");
//Wide tile Layout done
XmlDocument sqTileXml = TileUpdateManager.GetTemplateContent(TileTemplateType.TileSquareImage);
XmlNodeList sqTileImageAttrib = sqTileXml.GetElementsByTagName("image");
((XmlElement)sqTileImageAttrib[0]).SetAttribute("src", imageUristring);
((XmlElement)sqTileImageAttrib[0]).SetAttribute("alt", "Image");
IXmlNode node = wideTileXml.ImportNode(sqTileXml.GetElementsByTagName("binding").Item(0), true);
wideTileXml.GetElementsByTagName("visual").Item(0).AppendChild(node);
//Square tile set and added to wide tile xml
TileNotification tileNot = new TileNotification(wideTileXml);
tileNot.ExpirationTime = DateTime.Now.AddDays(5);
updater.Update(tileNot);
}
页面上还有全局变量updater,它在页面初始化时用于调用EnableNotificationQueue(true)
(然后更新队列,如图所示)。
问题是,当这段代码运行时,它不工作。我推断这与图像有关,因为当图像分配被排除时,动态瓷砖更新的值为rr.Id.ToString()
,但包含的瓷砖从未更新。imageUristring
引用的这个图像存在于应用程序的本地存储中(并且名称对应于方法参数的Id),但它仍然不起作用。所讨论的图像小于200KB,尺寸为1920x1080。(我认为他们会缩放到适合瓷砖?)
我做错了什么?我怎么能得到瓷砖更新与存储在本地存储的图像?
图片尺寸必须为<= 1024x1024。来自http://msdn.microsoft.com/en-us/library/windows/apps/Hh781198.aspx:
平铺图像的尺寸必须小于或等于1024 × 1024像素,文件大小小于或等于200kb,并且为输入。png、。jpg、。jpeg或。gif。