有没有办法调整Windows Phone 8 Live Tiles背面的文本大小?

时间:2012-12-09 04:37:01

标签: windows-phone-8 live-tile

我正在为我的瓷砖使用Flip Template。在MSDN页面上,文本被视为包装,并且尺寸较小。

这不能代表我在实时图块中看到的行为。我可以在Wide live tile上获得最多3行大文本。文字没有包装。这种情况发生在仿真器的所有不同屏幕尺寸上。令人沮丧的是,我可以在Medium live tile上获得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行。 右侧的模拟器显示文本未包装。

enter image description here

那么,有没有办法强制第四行,或指定较小的字体大小,或两者兼而有之?我怀疑没有,MSDN文章只是显示Windows 8(不是WP8)实时图块。

1 个答案:

答案 0 :(得分: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);
     }