2011-09-09 10 views
9

私は次のコードで、デバイス上のライブタイルを作成しています:私は、ライブタイル画像を削除するとピンとき、それはアプリのアイコンに戻すきたいと思います後の時点でWP7 Mango:ライブタイルを削除するにはどうすればよいですか?

ShellTile tile = ShellTile.ActiveTiles.FirstOrDefault(); 
StandardTileData newTileData = new StandardTileData 
{ 
    BackgroundImage = new Uri(string.Format("isostore:{0}", DefaultLiveTilePath), UriKind.Absolute), 
    Title = "Test" 
}; 
tile.Update(newTileData); 

。これは可能ですか?

+0

は、あなただけのオリジナルの画像を復元するために同じコードを使用することはできませんrobertftwするための研究と感謝をもとに

void clearTile() { ShellTileData tileData = new StandardTileData { Title = "", Count = 0, BackContent = "", BackTitle = "", BackBackgroundImage = new Uri("", UriKind.Relative), BackgroundImage = new Uri(@"/ApplicationIcon.png", UriKind.Relative) }; IEnumerator<ShellTile> it = ShellTile.ActiveTiles.GetEnumerator(); it.MoveNext(); ShellTile tile = it.Current; tile.Update(tileData); } 

?結局のところ、オリジナルはあなたのアプリと一緒にパッケージ化されています。 – Praetorian

+0

はい、問題は私もタイルの裏のイメージと内容を使用していることです。私が元の画像を復元するとき、私はそれを反転させたくありません。バックコンテンツとバックバックグラウンドイメージをヌルに設定することは、どちらでもないので、私のタイルを完全に削除する方法があるかどうかを知ることが最善であると考えました。 –

+5

http://stackoverflow.com/questions/6573806/mango-application-tile-remove-backトリックではありませんか? –

答えて

6

このblogによると、あなたは、このコード

public void DeleteExistingTile() 
{ 
    var foundTile = ShellTile.ActiveTiles.FirstOrDefault(x => x.NavigationUri.ToString().Contains("DetailId=123")); 

    // If the Tile was found, then delete it. 
    if (foundTile != null) 
    { 
     foundTile.Delete(); 
    } 
} 
+0

そのコードは、アプリケーションのプライマリタイルをリセットする方法ではなく、セカンダリタイルを削除する方法を示しています。 –

+0

申し訳ありませんが、疑問が誤解されました。 –

3

を使用shoudl正常に戻ったびにアプリが起動し、私のタイルをリセットするとき、私は、次のコードを使用しています:

private void ResetLiveTileToNormal() 
    { 
     ShellTile TileToFind = ShellTile.ActiveTiles.FirstOrDefault(); 


     ShellTileData shellData = new StandardTileData 
     { 
      Title = "XXXXXXXX", 
      Count = 0, 
      BackContent = "", 
      BackTitle = "", 
      BackBackgroundImage = new Uri("", UriKind.Relative), 
      BackgroundImage = new Uri(@"/Images/LiveTiles/XXXXXX.png", UriKind.Relative) 
     }; 
     TileToFind.Update(shellData); 
    } 
2

ShellTile.ActiveTiles.FirstOrDefault();は廃止されました。

関連する問題