Создаём wide tiles для приложения Windows Phone 7
Создавайте wide live tiles одновременно для Windows Phone 7 и 8 с помощью библиотеки MangoPollo и одного фрагмента кода.
Недавно мне попалась статья в Nokia Developer Wiki про создание live tiles (в том числе wide tile) сразу для Windows Phone 7 и Windows Phone 8 с помощью одного фрагмента кода, работающего на обеих версиях ОС.
Для этого вам понадобится библиотека MangoPollo, которую легко поставить через NuGet. Библиотека использует reflection, чтобы создавать live tiles в зависимости от версии ОС, на которой запущено приложение. Создать tiles просто:
var tile = ShellTile.ActiveTiles.FirstOrDefault();
if (tile != null)
{
var tileData = new FlipTileData();
tileData.Title = "Start Debugging";
tileData.BackContent = "switch to windows phone, we've got candy";
tileData.BackgroundImage = new Uri("Assets/tileBackground.png", UriKind.Relative);
tileData.BackBackgroundImage = new Uri("Assets/tileBackBackground.png", UriKind.Relative);
tileData.WideBackContent = "switch to windows phone, we've got candy";
tileData.WideBackgroundImage = new Uri("Assets/wideTileBackground.png", UriKind.Relative);
tileData.WideBackBackgroundImage = new Uri("Assets/wideTileBackBackground.png", UriKind.Relative);
tile.Update(tileData);
}
Это всё, что нужно. И обычная, и wide live tile теперь должны быть доступны при изменении размера tile вашего приложения. Осталось только обновлять её.
Ещё одна вещь, не самая очевидная для меня: для изображений tile можно использовать абсолютные URI. То есть в качестве source можно дать изображение прямо из интернета, и ОС скачает и закэширует его сама.
tileData.WideBackgroundImage = new Uri("http://cdn.marketplaceimages.windowsphone.com/v8/images/0a539106-8940-4898-99c2-744cbc7a6097?imageType=ws_icon_small", UriKind.Absolute);
Comments
Sign in with GitHub to comment. Reactions and replies thread back to the comments repo.