がりらぼ

WindowsRuntimeの応援ブログ

セカンダリータイルを置く

WinRTのセカンダリータイルに最低限必要なものは
msdnにも書いてありますが以下の通り。

  • タイルのID
  • 短い名前
  • 表示名
  • 画像
  • セカンダリ タイルがアクティブ化されるときに親アプリケーションに渡される引数文字列(ワカラン)

ちょっと最後のがよくわかりませんが置いておきましょう。
簡単にセカンダリータイルを置くコード

string appbarTileId = "tile1";

string tileActivationArguments = appbarTileId + " was pinned at " + DateTime.Now.ToLocalTime().ToString();

Uri logo = new Uri("ms-appx:///Images/garicchi.png");

SecondaryTile secondaryTile = new SecondaryTile(appbarTileId,

"TileName",

"ShortName",

tileActivationArguments,

TileOptions.ShowNameOnLogo,

logo);

Rect rect = new Rect(new Point(), new Size(0, 0));

await secondaryTile.RequestCreateForSelectionAsync(rect,Windows.UI.Popups.Placement.Above);

SecondaryTileクラスの書く引数に値を入れます。
第一引数にタイルのID(お好きなものを)
第二引数にタイルの表示名(お好きなものを)
第三引数にタイルの短い名前(何に使うかわからん)
第四引数はIDと時間から作った文字列
第五引数はロゴのイメージURI

その後、RequestCreateForSelectionAsyncで配置するのですが、この時Rectでユーザーにセカンダリータイルを置いていいか警告するダイアログの大きさを決めるはずなのですが、実は大きさ0でも特に変わりませんでした。

実行すると
f:id:garicchi:20120901013614p:image
ユーザーへのダイアログが表示され、

f:id:garicchi:20120901013641p:image
スタート画面に配置されました。かわいいです。