#windows-phone-7 #live-tile
#windows-телефон-7 #живая плитка #windows-phone-7
Вопрос:
Я пытаюсь создать интерфейс, в котором пользователь может создавать данные, которые передаются в плитку приложения, «вторичную» плитку и / или «третичную» плитку. Однако происходит следующее: когда я обновляю одну из трех плиток, ВСЕ плитки обновляются одним и тем же потоком данных… Это ограничение, которое действует с живыми плитками, или я что-то упускаю?
Вот фрагмент того, что я пытаюсь сделать….
ShellTile tile = null;
StandardTileData tileData = null;
switch (tileInfo.type)
{
case "Application":
tile = ShellTile.ActiveTiles.First();
tileData = new StandardTileData
{
BackBackgroundImage = new Uri(isoStoreTileImage, UriKind.Absolute)
};
// If the file already exists, update it.
if (tile != null)
{
tile.Update(tileData);
}
break;
case "Secondary":
tile = ShellTile.ActiveTiles.FirstOrDefault(x => x.NavigationUri.ToString().Contains("Secondary"));
tileData = new StandardTileData
{
BackgroundImage = new Uri(isoStoreTileImage, UriKind.Absolute)
};
// If the file already exists, update it.
if (tile != null)
{
tile.Update(tileData);
}
else
{
// Otherwise, create a new tile.
ShellTile.Create(new Uri(tileInfo.uri, UriKind.Relative), tileData);
}
break;
case "Tertiary":
tile = ShellTile.ActiveTiles.FirstOrDefault(x => x.NavigationUri.ToString().Contains("Tertiary"));
tileData = new StandardTileData
{
BackgroundImage = new Uri(isoStoreTileImage, UriKind.Absolute)
};
// If the file already exists, update it.
if (tile != null)
{
tile.Update(tileData);
}
else
{
// Otherwise, create a new tile.
ShellTile.Create(new Uri(tileInfo.uri, UriKind.Relative), tileData);
}
break;
}
Комментарии:
1. Просто обратите внимание, что использование
ShellTile.Create
in aPeriodicTask
не пройдет сертификацию marketplace.
Ответ №1:
Вы используете одну и ту же isoStoreTileImage
переменную для всех 3 StandardTileData
экземпляров. Это означает, что вы будете переопределять одно и то же изображение.
Предположение гласит, что вы используете один и тот же URI изображения для всех 3 плиток и, таким образом, обновляете их одними и теми же данными 😉