3

タイルにFlip テンプレートを使用しています。MSDN ページでは、テキストが折り返され、サイズが小さくなっています。

これは、ライブ タイルで見られる動作を代表するものではありません。ワイド ライブ タイルでは、最大 3 行の大きなテキストを取得できます。テキストは折り返されません。これは、エミュレーターのさまざまな画面サイズすべてで発生します。残念なことに、Medium ライブ タイルに 4 行のテキストを表示できますが、追加のコンテンツ行は長すぎてそこに収まらないので含めません。

スケジュールされたタスクを使用してタイルを定期的に更新します。

Earthquake latest = quakes.First();
newTileData = new FlipTileData
{
    Title = String.Format(AppResources.LiveTileTitleFormat, quakes.Count),
    BackTitle = String.Format(AppResources.LiveTileTitleFormat, quakes.Count),
    BackContent = String.Format(AppResources.LiveTileBackContentFormat,  latest.FormattedMagnitude, latest.FormattedDepth),
    WideBackContent = String.Format(AppResources.LiveTileWideBackContentFormat, latest.FormattedMagnitude, latest.FormattedDepth, latest.RelativeLocation)
};

ShellTile tileToFind = ShellTile.ActiveTiles.First();
if (tileToFind != null)
{
    tileToFind.Update(newTileData);
}

左側のエミュレーターは 4 本の線を表示しようとしています。右側のエミュレーターは、テキストが折り返されていないことを示しています。

ここに画像の説明を入力

それで、4行目を強制する方法、またはより小さいフォントサイズを指定する方法、あるいはその両方を行う方法はありますか? そうではないと思います.MSDNの記事は、Windows 8(WP8ではない)のライブタイルを表示しているだけです。

4

1 に答える 1

4

WP8タイルのテキストのサイズを変更することはできません。代わりに、画像を作成してタイルに配置することで、偽造することができます。

  1. 画像コントロールとテキストブロックに対応するユーザーコントロールを作成します
  2. タイル画像を画像コントロールに割り当て、希望のサイズのテキストをテキストブロックに割り当てます。
  3. 次に、次のコードを使用してコントロールのスナップショットを作成します。
  4. この画像を使用して、タイル生成を実装します。

     private WriteableBitmap RenderControlAsImage(UserControl element)
     {
        element.UpdateLayout();
        element.Measure(new Size(element.Width, element.Height));
        element.Arrange(new Rect(0, 0, element.Width, element.Height));
        return new WriteableBitmap(element, null);
     }
    
于 2012-12-21T13:22:36.197 に答える