我正在尝试创建一个界面,用户可以在其中创建流式传输到应用程序磁贴,“辅助”磁贴和/或“第三”磁贴的数据。然而,正在发生的事情是,当我更新三个磁贴中的一个时,所有磁贴都会使用相同的数据流进行更新...这是一个带有活动磁贴的限制,还是我错过了什么?
这是我要做的事情的片段....
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;
}
答案 0 :(得分:1)
您对所有3个isoStoreTileImage
实例使用相同的StandardTileData
变量。这意味着你将覆盖相同的图像。
狂野猜测说你正在为所有3个图块使用相同的图像URI,因此使用相同的数据更新它们; - )