0

私はWindows Phone用のショッピングアプリを開発しています。

タイルを手動で固定すると、コードでタイルを更新できます。

ここでタイルを更新する私のコード

 ShellTile TileToFind = ShellTile.ActiveTiles.First();

            StandardTileData NewTileData = new StandardTileData
            {
                BackgroundImage = new Uri(offer_mobile_image[0], UriKind.RelativeOrAbsolute),
                Count = NotificationCount,
                BackTitle = location_area,
                BackContent = offer_title,
            };


            TileToFind.Update(NewTileData);

コードでライブ タイルを動的に作成すると、タイルを更新できません

ここで、ライブタイルを作成するために使用したコード

private void PinToStart()
    {
        StandardTileData standardTileData = new StandardTileData();
        standardTileData.BackgroundImage = new Uri(@"/ApplicationTile.png", UriKind.RelativeOrAbsolute);
        standardTileData.Title = "MyApplication";
        standardTileData.BackTitle = "this is my app";
        standardTileData.BackContent = "this is very good app";

        // Check if the application tile has already been defined - this is a tile that links to the app main page
        ShellTile tiletopin = ShellTile.ActiveTiles.FirstOrDefault(x => x.NavigationUri.ToString().Contains("MainPage.xaml"));
        if (tiletopin == null)
        {
            //Create ShellTile linking to main page of app
            ShellTile.Create(new Uri("/MainPage.xaml", UriKind.Relative), standardTileData);
        }
        else
        {
            MessageBox.Show("Application is already Pinned");
        }
    }

動的に作成されたタイルを更新するのを手伝ってくれる人はいますか? ありがとうございました。

4

1 に答える 1

0

問題は、プライマリ タイルを更新しようとしているが、セカンダリ タイルを作成することです。プライマリ タイルは常に最初のタイルです。

UpdateTile()メソッドを次のように更新すると、次のようになります。

ShellTile TileToFind = ShellTile.ActiveTiles.FirstOrDefault(
              x => x.NavigationUri.ToString().Contains("MainPage.xaml"));

コードで作成されたタイルが更新されます。

于 2013-11-01T09:15:40.563 に答える