私のUWPアプリケーションでライブタイルに問題があります。マイクロソフトでは、コンテンツを設定するために異なるタイルサイズに異なるテンプレート(MSDN)を提供していますが、コンテンツの表示方法もデバイスによって異なります。ユーザーによって固定されたタイルサイズに応じてライブタイルを更新します。
たとえば、幅の広いタイルはモバイルデバイス上に1行のデスクトップコンピュータより多くの文字を表示することができますが、情報表示にはほとんどのタイル領域を使用します。ユーザーが自分のアプリをデスクトップコンピュータにインストールし、大きな正方形のタイルをスタートメニューに固定したとします。適切なテンプレートを読み込むためにタイルサイズを検出するにはどうすればよいですか?基本的には、ユーザーが固定しているタイルに応じて、別のテンプレートを使用したいとします(使用済みのデバイスに応じてコンテンツの埋め込みを処理したいのですが、すでに取り上げています)。
現在、私は、ユーザーがワイドなもの以外のサイズを固定している場合は何もしないワイドテンプレートを使用しています。ユーザーが幅の広いタイルを固定すると、それは機能します。しかし、私はこの問題の一般的な解決法を見つけるのに苦労しています。私のアプリはタイルの内容にローカルデータを使用するだけなので、私はSheduledTileNotificationsを使用しています。
これは、与えられたテンプレートを使用してタイルを更新するための私のコードです:
public static void UpdatePrimaryTile(XmlDocument tileTemplate)
{
var dt = DateTime.Now.AddSeconds(5);
dt = DateTime.SpecifyKind(dt, DateTimeKind.Unspecified);
var not = new ScheduledTileNotification(tileTemplate, new DateTimeOffset(dt, TimeZoneInfo.Local.BaseUtcOffset));
var tu = TileUpdateManager.CreateTileUpdaterForApplication();
tu.EnableNotificationQueue(true);
tu.Clear();
tu.AddToSchedule(not);
}
は、この問題に関するいかなる助けを事前にありがとうございます。
1つのテンプレートに複数のサイズを追加することが可能であることに気づいていなかったため、ドキュメントでその部分をスキップしているに違いありません。私はそれを試して、この答えをできるだけ早くマークします。ありがとう! – xmashallax