3

我正在为我的瓷砖使用翻转模板。在 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 行。右侧的模拟器显示文本未换行。

在此处输入图像描述

那么,有没有办法强制第四行,或指定较小的字体大小,或两者兼而有之?我怀疑没有,而且 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 回答