0

アプリケーション タイル、「二次」タイル、および/または「三次」タイルにストリーミングするデータをユーザーが作成できるインターフェイスを作成しようとしています。ただし、3 つのタイルの 1 つを更新すると、すべてのタイルが同じデータ ストリームで更新されます。これは、ライブ タイルに適用されている制限ですか、それとも何か不足していますか?

ここに私がやろうとしていることのスニペットがあります....

            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;
            }
4

1 に答える 1

1

3 つのインスタンスすべてに同じisoStoreTileImage変数を使用しています。StandardTileDataつまり、同じイメージをオーバーライドすることになります。

3 つのタイルすべてに同じ画像 URI を使用しているため、同じデータでそれらを更新していると推測できます ;-)

于 2011-10-10T18:58:53.953 に答える