2012-12-09 41 views
3

我爲我的瓷磚使用了Flip Template。在MSDN頁面上,文本被視爲包裝,並且尺寸較小。任何方式來調整Windows Phone 8 Live Tiles背面的文本大小?

這並不代表我在活瓷磚中看到的行爲。我可以在Wide live瓦片上獲得最多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)實時切片。

+2

沒有那是不可能的遺憾。一種解決方案是將文本自己寫在拼貼圖上,而不是使用內置屬性。 – robertk

+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); 
    } 
    
+0

我有麻煩,這和wp8,我需要調用裏面的元素來獲取寬度和高度,否則我有NaN'element.Measure(new Size(element.Content.DesiredSize.Width,element.Content.DesiredSize.Height) );' –

+0

你可以嘗試給你的控制硬編碼值。 –

相關問題