由于设置图像错误,活动磁贴不工作

本文关键字:活动 工作 错误 图像 于设置 设置 | 更新日期: 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。