Страницата App.xaml.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);
}
На страницата има и глобалната променлива за актуализиране, която се използва при инициализация на страницата за извикване на EnableNotificationQueue(true)
(след това по-късно за актуализиране на опашката, както е показано).
Проблемът е, че когато този код се стартира, той не работи. Заключих, че има нещо общо с изображенията, защото когато присвояването на изображения се изключи, плочката на живо се актуализира със стойността rr.Id.ToString()
, но включената плочка никога не се актуализира. тези изображения, посочени от imageUristring
, присъстват в локалното хранилище на приложенията (и името съответства на идентификатора на параметъра на метода), но все още не работи. Въпросните изображения са под 200KB и са 1920x1080. (Мисля, че те ще бъдат мащабирани, за да паснат на плочката?)
какво правя грешно Как мога да накарам плочката да се актуализира с изображението, съхранено в локалното хранилище?