【ストアアプリ】タイル通知(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つのタイルが定期的に切り替わって表示されます。
次回はバッジ通知の機能を追加してみたいと思います。

関連記事

no image

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

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

記事を読む

【iPhoneアプリ】リリース手順〜iTunesConnect登録〜

AppStoreに有料アプリ、iAdアプリを公開するためには、 iTunes Connectで

記事を読む

no image

【UWP】CS1061 : ‘XXX’に’InitializeComponent’の定義が含まれておらず

いろいろなことに起因しており、引き起こされた問題であって、 根本的な原因ではない可能性はあるが、凡ミ

記事を読む

Xamarin Studio から Visual Studio for Mac へ変更してから、”The “XamlCTask” task failed unexpectedly.” が発生。

Visual Studio for Mac がGAしたので、インストールしてみた。 それまで開発して

記事を読む

no image

【VB.NET】async および await キーワードの使用

.NET Framework4.5(C#5.0, VB11.0)の新機能 Async/Awai

記事を読む

no image

【.NET】正規表現の復習

正規表現エンジン System.Text.RegularExpressions.Regexオブジェ

記事を読む

no image

UWPのScrollViewerでスクロール位置の同期を行うメモ

複数のScrollViewerのスクロール位置を同期したい場合、WPFではScrollChanged

記事を読む

no image

BOT向け自然言語処理サービスまとめ

自然言語処理 自然言語処理(しぜんげんごしょり、英語: natural language p

記事を読む

【WPF/XAML】Colorsクラスのカラーテーブル

http://msdn.microsoft.com/ja-jp/library/system.win

記事を読む

【ストアアプリ】画像の光学式ズーム

こんにちは。 スマートデバイスといえばタッチ操作、ということで 今日はWindowsストアアプリ

記事を読む

Message

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

PAGE TOP ↑