Live Tile не работи поради грешка в настройката на изображението?

Страницата 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. (Мисля, че те ще бъдат мащабирани, за да паснат на плочката?)

какво правя грешно Как мога да накарам плочката да се актуализира с изображението, съхранено в локалното хранилище?


person J.B    schedule 06.04.2013    source източник


Отговори (1)


Вашите изображения трябва да са ‹= 1024x1024. От http://msdn.microsoft.com/en-us/library/windows/apps/Hh781198.aspx:

Изображенията на плочките трябва да имат размери по-малки или равни на 1024x1024 пиксела, да имат размер на файла по-малък или равен на 200 KB и да са от тип .png, .jpg, .jpeg или .gif.

person Jennifer Marsman - MSFT    schedule 07.04.2013
comment
Ааа! Изглежда съм пропуснал това, докато разглеждах документацията (и вашата публикация в блога!). Има ли начин да ги преоразмерите програмно само за плочката? - person J.B; 07.04.2013
comment
Актуализация: намери идеално решение за преоразмеряване тук amoore.katalyststudios .com/content/ - person J.B; 08.04.2013
comment
Извинете за забавянето...да, код като този преоразмерява изображения. Прочетете в поток, преоразмерете и го напишете. Радвам се, че сте готови. - person Jennifer Marsman - MSFT; 09.04.2013