Mango アプリケーション タイル - 削除して戻す 質問する

Mango アプリケーション タイル - 削除して戻す 質問する

これは簡単な質問であり、一見簡単なタスクですが、必要なことを達成する方法に関する情報が見つかりません。

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

コードを使用して両面タイルを片面タイルに戻すことが可能かどうか知っている人はいませんか。可能であれば、その動作を実現するにはどうすればよいでしょうか。

編集

StandardTileDataオブジェクトから適用される設定は追加されます。のみたとえば、タイトルを指定すると、他のすべての要素は同じままで、タイトルのみが更新されます。タイルの背面に表示される 3 つのパラメータを null に設定しようとしましたが、部分的に成功しました。その結果、背景画像、タイトル テキスト、コンテンツ テキストはすべて削除されますが、タイルは裏返されて完全に空の裏面が表示されます。

再度編集

ドキュメントを見ると、タイルの背面は前面とは動作が異なります。背面コンテンツまたはバックタイトルを string.Empty に設定すると、それらは削除されます。すべて問題ありません。ただし、「空の URI に設定すると、BackBackgroundImage は表示されません」と書かれています。空の Uri を作成するにはどうすればいいですか? new Uri(string,Empty) を試しましたが、空の Uri を作成しようとすると例外がスローされます。これが私がやろうとしていることです。

ベストアンサー1

わかりました。どうやらタイルデータの処理方法の変更に関連しているようです...

以前は、値を空の文字列に設定してもタイルには影響しませんでした。たとえば、title = string.Empty を設定すると、既存のタイトルがそのまま残ります。しかし、今はタイトルが空白になります。これは良いことです。つまり、BackTitle と BackContent 文字列を簡単に削除できるということです。これで半分は終わりです。

さて、BackBackgroundImage を削除するには、ドキュメントに「空の URI に設定すると、BackBackgroundImage は表示されません」と記載されています。すべて問題ありませんが、簡単な方法で空の URI を作成することはできません。私がこれを機能させた唯一の方法は、存在しない 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);
}

おすすめ記事