【ストアアプリ】タイル通知(TileUpdateManager)について

公開日: : 最終更新日:2015/10/20 Blog, Microsoft ,

こんにちは。
ストアアプリでタイル通知を行う方法を調べました。

前回のトースト通知と方向性は同じで、

  1. XMLテンプレートを取得
  2. DOMでXMLを編集
  3. タイル通知処理を呼び出す

の流れになるようです。

private void btn1_Click(object sender, RoutedEventArgs e)
{
    //using Windows.UI.Notifications
    //using Windows.Data.Xml.Dom

    //====================================================
    //タイルのテンプレートを取得しDOMで設定を行う
    //====================================================
    XmlDocument tileXml = TileUpdateManager.GetTemplateContent(TileTemplateType.TileSquare150x150PeekImageAndText01);
    //--テンプレート構成--
    //<tile>
    //  <visual>
    //    <binding template="TileSquarePeekImageAndText01">
    //      <image id="1" src="image1" alt="alt text"/>
    //      <text id="1">Text Field 1 (larger text)</text>
    //      <text id="2">Text Field 2</text>
    //      <text id="3">Text Field 3</text>
    //      <text id="4">Text Field 4</text>
    //    </binding>  
    //  </visual>
    //</tile>

    //Imageを設定
    XmlNodeList elementsImg = tileXml.GetElementsByTagName("image");
    ((XmlElement)elementsImg[0]).SetAttribute("src", "ms-appx:///Assets/nezumi.png");

    //Textを設定
    XmlNodeList elementsTxt = tileXml.GetElementsByTagName("text");
    elementsTxt[0].AppendChild(tileXml.CreateTextNode("Tile Title"));
    elementsTxt[1].AppendChild(tileXml.CreateTextNode("Content1"));
    elementsTxt[2].AppendChild(tileXml.CreateTextNode("Content2"));
    elementsTxt[3].AppendChild(tileXml.CreateTextNode("Content3"));

    //====================================================
    //XMLからタイル通知を作成し、TileUpdateManagerに渡す
    //====================================================
    TileNotification tile = new TileNotification(tileXml);
    TileUpdateManager.CreateTileUpdaterForApplication().Update(tile);
}

参考:タイル テンプレートのカタログ

実行結果
Tile3

Tile2

この2つのタイルが定期的に切り替わって表示されます。
次回はバッジ通知の機能を追加してみたいと思います。

関連記事

Xamarin.Forms で NavigationPage を PushModalAsync すると例外が発生するときがある

Forms 2.3.4.231 Mapコントロールがあるページで、NavigationPage

記事を読む

no image

KeyboardNavigation以外でFocusVisualStyleを表示させる

WPFです。 結論としてはリフレクションで無理やりやれなくはなさそうという感じ。 元ネタはMSDN

記事を読む

Visual Studio Team Services ダッシュボードを自動更新する

Visual Studio Team Services のダッシュボードでプロジェクトや運用状況のサ

記事を読む

【.NET】16進数文字列から色を設定する

文字列→Colorクラスへの変換メモ プログラム上でFromArgbメソッドに16

記事を読む

IntelliTestはどこまでカバーしてくれるのか

私はレガシーな開発環境・案件が多かったのですが、 この頃、ユニットテストを利用する機会が増えてきま

記事を読む

UWPをHockeyApp対応させる

走り書きメモ。 UWPをHockeyApp対応させるためにはNuGetパッケージを使ってモジュール

記事を読む

画面設計デザイン時の無料画面イメージ作成ツール

画面デザイン全般に使っているツールを紹介。 Webアプリ作成時のワイヤーフレームや、 ス

記事を読む

no image

属性を使って、列挙型の列挙子を並び替え、フィルタリングする

メモだよ

記事を読む

no image

SmallBasicで拡張ライブラリを使用する

こんにちは。 teratailにて以下の質問に遭遇しまして。 small basic の 拡

記事を読む

no image

Raspberry Pi 3 Model B 各OS、動画プレイヤーでの再生比較

ベンチマークではなく、ただ感想をメモしただけ。 Windows 10 IoT Core C#

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

PAGE TOP ↑