2010-12-14 5 views
3

Silverlight에서 문자 간격, 커닝 또는 추적을 관리하는 가장 쉬운 방법은 무엇입니까?Silverlight 문자 간격

현재 글자 사이에 너무 많은 공간이있는 큰 글이 Arial에 있습니다.

감사

답변

0

내가이 시간에 런타임 지원하고 있다고 생각하지 않습니다. 텍스트를 경로로 내보내고이를 사용할 수 있습니다.

+0

감사합니다. spacing 매개 변수를 할당하는 속성을 사용하여 모든 단어를 분할하는 textblock에 대한 동작을 작성한다고 생각합니다. – keyle

2

는 최선의 해결책인지 몰라,하지만 나를 위해 잘 작동 :

SomeElement.Children.Add(LetterSpacing("Test", -3)); 

...

private Canvas LetterSpacing(string String, double Space) 
    { 
     Canvas kpr = new Canvas(); 
     char[] lters = String.ToCharArray(); 
     Label[] lbls = new Label[lters.Length]; 

     for (int i = 0; i < lters.Length; i++) 
     { 
      Label tmpLbl = new Label(); 
      lbls[i] = tmpLbl; 
      kpr.Children.Add(lbls[i]); 
      lbls[i].Content = lters[i]; 
      lbls[i].FontSize = 30; 
      lbls[i].FontFamily = new FontFamily("Verdana"); 
     } 

     Dispatcher.BeginInvoke(
      () => 
      { 
       double leftPos = 0; 
       for (int j = 0; j < lbls.Length; j++) 
       { 
        Canvas.SetLeft(lbls[j], 0 + leftPos); 
        leftPos += (lbls[j].ActualWidth - (Space * -1)); 
       } 
      }); 

     return kpr; 
    }