2

現在、Windows8アプリにライブタイルを実装しています。ここで、2つの異なるタイルスタイル(小さいタイルと大きいタイル)が必要です。私はこのようにそれを試しました:

            var tileUpdater = TileUpdateManager.CreateTileUpdaterForApplication();
            var tileUpdaterBig = TileUpdateManager.CreateTileUpdaterForApplication();
            tileUpdater.Clear();
            tileUpdaterBig.Clear();
            tileUpdater.EnableNotificationQueue(true);
            tileUpdaterBig.EnableNotificationQueue(true);

            foreach (var item in Articles)
            {
                var xml = TileUpdateManager.GetTemplateContent(TileTemplateType.TileSquareText04);
                var bigXML = TileUpdateManager.GetTemplateContent(TileTemplateType.TileWideText09);
                var textElements = xml.GetElementsByTagName("text");
                var bigTextElements = bigXML.GetElementsByTagName("text");
                textElements[0].AppendChild(xml.CreateTextNode(item.Title));
                bigTextElements[0].AppendChild(bigXML.CreateTextNode(item.Title));
                bigTextElements[1].AppendChild(bigXML.CreateTextNode(item.Preview));
                var notification = new TileNotification(xml);
                var notificationBig = new TileNotification(bigXML);
                tileUpdater.Update(notification);
                tileUpdaterBig.Update(notificationBig);
            } 

これは正しい方法ですか?

さらに、リストの各要素ではなく、タイル内に表示されているデータが一部しかないように見えます。

ご協力いただきありがとうございます。

4

1 に答える 1

2

必要な TileUpdater は 1 つだけです。この記事のコード サンプルを確認してください(「最終的なコードはこちら」まで下にスクロールします)。

基本的に、ユーザーがタイルを正方形またはワイド フォーマットで配置したかどうかがわからないため、両方の更新を 1 つのペイロードで送信する必要があります。

最後の 5 つの更新をすべてタイルをスクロールする場合にのみ、EnableNotificationQueueを true に設定する必要があります。最新の更新のみを表示して他の更新を置き換える場合は、これを false に設定します (または false がデフォルトであるため、何もしません)。

于 2012-12-04T17:16:09.290 に答える