2012-12-09 6 views
3

타일에 Flip Template을 사용하고 있습니다. MSDN 페이지에서 텍스트가 줄 바꿈되는 것을 볼 수있을뿐만 아니라 더 작은 크기가됩니다.Windows Phone 8 Live Tiles 뒷면의 텍스트 크기를 조정하는 방법은 무엇입니까?

이것은 (는) 행동 패턴을 대표하지 않습니다. 내 라이브 타일에서보고 있습니다. Wide 라이브 타일에서 최대 3 줄의 큰 텍스트를 얻을 수 있습니다. 텍스트가 줄 바꿈되지 않습니다. 이것은 에뮬레이터의 모든 화면 크기에서 발생합니다. 실망스럽게도 Medium 라이브 타일에 4 줄의 텍스트를 얻을 수 있지만 내용의 추가 라인은 너무 길어서 어쨌든 들어갈 수 없으므로 포함하지 않습니다.

나는 정기적으로 예약 된 작업을 사용하여 내 타일을 업데이트 : 왼쪽에있는 에뮬레이터가 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); 
} 

. 오른쪽의 에뮬레이터에서 줄 바꿈하지 않는 텍스트가 표시됩니다.

enter image description here

그래서, 작은 글꼴 크기, 또는 둘 모두를 네 번째 라인을 강제하거나 지정할 수있는 방법은 무엇입니까? MSDN 기사에는 Windows 8 (WP8 아님) 라이브 타일이 표시되어 있습니다.

+2

없음. 해결책은 내장 된 속성을 사용하는 대신 타일 그림에 텍스트를 직접 쓰는 것입니다. – robertk

+0

당신 말이 맞습니다. 오히려 실망. 이것을 이것을 답으로 추가하고 싶다면 "not possible"이 유효한 답입니다! –

답변

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에 문제가 있었고, width와 height를 얻기 위해 요소를 내부에서 호출해야했습니다. 그렇지 않으면 NaN'element.Measure (new Size (element.Content.DesiredSize.Width, element.Content.DesiredSize.Height)); ' –

+0

당신은 당신의 컨트롤에 하드 코딩 된 값을 주려고 노력하십시오. –