0

そのため、次のコードを使用して単純なタイルを作成しました。下this.InitializeComponent();

        var tileCon = TileUpdateManager.GetTemplateContent(TileTemplateType.TileSquareBlock);
        var tileLines = tileCon.SelectNodes("tile/visual/binding/text");
        tileLines[0].InnerText = "hell";
        tileLines[1].InnerText = "hi";
        var notification = new TileNotification(tileCon);
        var updater = TileUpdateManager.CreateTileUpdaterForApplication();
        updater.Update(notification); </code>

アプリを初めて実行すると、タイルが表示されます。しかし、Metro UI からタイルの固定を解除すると、アプリを何度実行しても表示されなくなります。しかし、毎回新しいタイルを追加したい

4

2 に答える 2

1

ユーザーがタイルの固定を解除すると、アプリケーションはプログラムでタイルを元に戻すことができなくなります。再固定するのはユーザーの責任です。

于 2013-01-20T21:32:30.243 に答える
1

ライブ タイルとセカンダリ タイルの概念を混同していると思います。(さらに混乱させるために、セカンダリ タイルもライブにすることができます。) :) 上記のコードは、「ライブ タイル」の概念を実装しています...既存のタイルに通知をプッシュして、そのテキスト/画像を更新します。

「毎回新しいタイルを追加したい」と述べています。アプリケーションからスタート メニューに新しいタイルを追加することは、「セカンダリ タイル」の概念です。これはメイン アプリケーションのタイルではなく、起動時に特定のサブセクションに直接移動する追加のタイルです。あなたの申請。たとえば、都市のハブと各都市の天気の詳細ページがある天気アプリでは、住んでいる都市 (ニューヨーク市など) の天気のセカンダリ タイルをピン留めできます。次に、スタート メニューでその NYC セカンダリ タイルをクリックすると、アプリケーションが起動し、(ハブ ページをバイパスして) ニューヨーク市の天気ページに直接移動します。

最後に、エンド ユーザーの同意なしに追加のタイルを作成する権限はありません。したがって、セカンダリ タイル コードを実装する場合でも、新しいタイルを作成する前にエンド ユーザーの確認を得る必要があります。InitializeComponent で常に新しいタイルを作成したいシナリオは想像できません。あなたがやろうとしていることについて、もう少し詳しく教えていただけますか?

コード サンプルを含むいくつかのリソースを次に示します。

于 2013-01-21T03:04:58.620 に答える