2011-07-04 10 views
20

これは簡単な質問ですが、一見単純な作業ですが、私は何をする必要があるかについての情報を見つけることができません。マンゴーアプリケーションタイル - 後ろに取り除く

メインタイル(固定されている場合)がデフォルトの片面タイルである必要があり、タイルの背面に情報が表示されることがあるアプリケーションがあります。 BackBackgroundImage、BackContent、およびBackTitleをScheduledActionServiceから正常に追加できますが、不要になった時点で削除することはできません。これはセカンダリタイルではないため、削除して再作成して再追加することはできません。

両面タイルを片面ビアコードに戻すことができるかどうかは誰にも分かりますか?もしそうなら、どのようにその動作を達成できますか?

EDIT

StandardTileDataオブジェクトから適用されます設定が添加されている - あなただけタイトルを指定した場合には、例えば、他のすべての要素は同じままで、タイトルだけが更新されます。タイルの背面に表示される3つのパラメータをnullに設定して部分的に成功させようとしました。その効果は、背景画像、タイトルテキストおよび内容テキストがすべて削除されるが、タイルはまだ完全に空の裏を示すために反転することである。

EDIT AGAIN

ので、ドキュメントを見て、タイルは前後に動作が異なります。バックコンテンツやバックタグをstring.Emptyに設定すると、それが削除されます。すべての良いそこに。しかし、 "空のURIに設定されている場合、BackBackgroundImageは表示されません。"空のウリを作るにはどうすればいいですか?私は新しいUri(string、Empty)を試しましたが、空のUriを作成しようとすることについて例外がスローされます。これは私がやろうとしていることです。

+0

どのように削除しようとしていますか? –

+0

3つの "Back"プロパティをnull(動作しません)、空の文字列/ URI(動作しません)に設定しようとしました。私はまた、2つのStandardTileDataオブジェクトを作成しようとしました(一方は片面、もう一方は両面)ので、それらを適切に適用しましたが、失敗しました。 – ZombieSheep

答えて

28

OK、私はそれを持っていると思うし、変化に関連すると思われますタイルデータの処理方法...

以前は値を空の文字列に設定すると効果がありましたタイルにeaxmpleの場合、title = string.Emptyを設定すると、既存のタイトルがそのまま残ります。さて、しかし、それはタイトルを空白にします。これは良いことです。つまり、BackTitleとBackContentの文字列を簡単に削除できます。我々はそこに半分です。

BackBackgroundImageを取り除くために、「空のURIに設定すると、BackBackgroundImageは表示されません」と記載されています。 - あなたは単純な方法で空のUriを作成することはできません。私はそれがうまく行われてきた一つの方法は存在しませんウリ値に設定することで、例えば

BackBackgroundImage = new Uri("obviouslyMadeUpLocation", UriKind.Relative); 

私はあなたがタイルにそれを適用しようとすると、例外をスローすることを期待しているだろう、しかし、そうではありません - それは単に背景画像をクリアします。

それだけです。私がする必要があると思われるのは、これらのプロパティを設定解除し、自分のタイルを元の状態に戻すために、次のメソッドを呼び出すことです。

private void ResetMyMainTile() 
{ 
    ShellTile tile = ShellTile.ActiveTiles.First(); 
    StandardTileData data = new StandardTileData 
    { 
     BackBackgroundImage = new Uri("IDontExist",UriKind.Relative), 
     BackContent = string.Empty, 
     BackTitle = string.Empty 
    }; 
    tile.Update(data); 
} 
+2

空のUriを次のように作成することができます: 'new Uri(" "、UriKind.Relative)'(UriKindをAbsoluteとして指定すると、例外)。 – hasseg

0

タイル全体(すべての詳細)を以前と同じようにすべてに再設定してください。ただし、背景は表示されません。

更新
が、これは動作しません?:

ShellTile tile = ShellTile.ActiveTiles.First(); 
tile.Update(null); 

または

tile.update(new StandardTileData()); 
+1

提案していただきありがとうございますが、これらの設定は追加されています。パラメータのいずれかを省略すると、パラメータの以前の値がそのまま残ります(タイルタイトルを設定するだけで、タイルの他のビットはそのまま残ります)。だから、私はそれらをnullに設定することがそのトリックを行うと思ったのですが、それは部分的にそうします - それはタイルの裏から目に見える要素を取り除きますが、裏はまだ空のタイルとして表示されます。 : – ZombieSheep

+0

私はドキュメントに基づいて私の質問を更新しました。私は今、背景画像のための "空のウリ"を作成しようとしています... – ZombieSheep

+0

@ZombieSheepの回答 –

1

これは私のために働く。

new Uri("Background.png", UriKind.RelativeOrAbsolute); 

ShellTile TileToFind = ShellTile.ActiveTiles.First(); 

     if (TileToFind != null) 
     { 

      StandardTileData NewTileData = new StandardTileData 
      { 
       Title ="Status", 
       BackgroundImage = new Uri("Background.png", UriKind.RelativeOrAbsolute), 
       Count = 0, 
       BackTitle = "", 
       BackBackgroundImage = new Uri("doesntexist.png", UriKind.RelativeOrAbsolute), 
       BackContent = "" 
      }; 

      TileToFind.Update(NewTileData); 
     } 
関連する問題