2014-04-22 2 views
0

동적으로 데이터를 구문 분석하고 Windows Phone 8.0 RichTextBox에 InlineUIContainer와 같은 텍스트를 실행, 하이퍼 링크 및 이미지로 추가합니다. 어떻게 든 텍스트 중심에 세로로 정렬 된 이미지를 관리 할 수 ​​없습니다. 그런WP RichTextBox 세로 맞춤

 Paragraph paragraph = new Paragraph(); 
     richTextBox.Blocks.Add(paragraph); 

     var img = new Image 
     { 
      Stretch = Stretch.Uniform, 
      Source = imageSource, 
      VerticalAlignment = VerticalAlignment.Center, 
      Height = inlineImageSize, 
     }; 

     paragraph.Inlines.Add(new InlineUIContainer {Child = img}); 

그리고 텍스트 :

이미지는 다음과 같이 추가 나는뿐만 아니라하여 RichTextBox에 정렬을 위해 몇 가지 값을 설정하려고

 Paragraph paragraph = new Paragraph(); 
     richTextBox.Blocks.Add(paragraph); 
     paragraph.Inlines.Add(new Run { Text = text }); 

,하지만 텍스트가 중심되지 않습니다 이미지들. 텍스트는 항상 하단에 맞춰집니다.

WP RichTextBox에서 인라인 텍스트의 가운데에 인라인 이미지가 세로로 표시되게 할 수 있습니까?

+0

이뿐만 아니라 작동 할 수 있지만, http://stackoverflow.com/questions/5242508/silverlight-how-to-align 모든 사용자 지정 컨트롤이 주변에 꽤 부풀어있다 : 당신의 인라인 이미지에 대한 여백을 설정하십시오 -text-in-inlineuicontainer-content-with-r-outer-text-in-r –

답변

1

내가 찾고있는 것은 BaselineAlignment 속성입니다. 다음을 시도하십시오.

Paragraph paragraph = new Paragraph(); 
    richTextBox.Blocks.Add(paragraph); 

    var img = new Image 
    { 
     Stretch = Stretch.Uniform, 
     Source = imageSource, 
     BaselineAlignment = BaselineAlignment.Center, 
     Height = inlineImageSize, 
    }; 

    paragraph.Inlines.Add(new InlineUIContainer {Child = img}); 
+0

BaselineAlignment AFAIK가 없거나 포함되어 있지 않은 Windows Phone 용입니다. –

+1

죄송합니다. 태그를 보지 못했습니다. Windows Phone 8 및 Windows Phone 8.1은 BaselineAlignment를 지원하지만 Windows Phone 7은 [MSDN Library] (http://msdn.microsoft.com/en-us/library/system.windows.documents)에 명시된 것처럼 보이지 않습니다. –

+0

[Windows Phone Developer Library] (http://msdn.microsoft.com/en-us/)에서 이미지 클래스의 모든 속성을 살펴 보았습니다. 라이브러리/windowsphone/개발/windows.ui.xaml.controls.image.aspx # 속성) 및 BaselineAlignment 또는 equivilent 같은 아무것도 찾을 수 없습니다. 간단히 말해서 ... Windows Phone으로 작업하는 경우 답변이 없습니다. 죄송합니다. –

0

죄송합니다.

Paragraph paragraph = new Paragraph(); 
richTextBox.Blocks.Add(paragraph); 

var img = new Image 
{ 
    Stretch = Stretch.Uniform, 
    Source = imageSource, 
    Height = inlineImageSize, 
    Margin = new Thickness(0,0,0,-5); 
}; 

paragraph.Inlines.Add(new InlineUIContainer {Child = img});