2011-05-15 4 views
2

텍스트가 컨트롤의 높이를 벗어나는 경우 RichTextBox에 전체 텍스트를 표시하는 데 필요한 높이를 가져 오려고합니다.Silverlight의 RichTextBox에서 텍스트를 측정하는 방법

참고 : Silverlight에는 WPF와 같은 손쉬운 TextRenderer.MeasureText가 없으며 텍스트를 측정 할 수있는 다른 방법도 없습니다.

이렇게하는 방법이없는 것처럼 보입니다. TextBlock을 만들고 너비를 가져 와서 단일 글꼴의 텍스트를 측정하는 사람들 (RichTextBox와 혼합되지 않은)에 대해 언급했습니다. 이것조차도 작동하지 않습니다 - 일부 글꼴에는 완벽하고 다른 글꼴에는 맞지 않습니다.

내 응용 프로그램이 때때로 연결되어 서버를 호출 할 수 없습니다.

답변

0

당신이 말했듯이, 나는 Silverlight에서 이것을하는 좋은 방법이 없다고 생각합니다. Document Toolkit에는 1 층 소프트웨어에서 사용할 수있는 몇 가지 기능이 있지만 XPS 문서 작업에 적합합니다. Silverlight 5에서는 RichTextBox가 모든 데이터를 표시 할 수 없을 때 여러 다른 RichTextBoxes에 텍스트를 "오버플로"할 수있는 기능이 제공됩니다. 이렇게하면 여러 열의 텍스트 레이아웃을보다 쉽게 ​​만들 수 있습니다.

문서 툴킷 : http://firstfloorsoftware.com/documenttoolkit

SL5 비디오 : http://www.silverlight.net/learn/videos/all/silverlight-5-multi-column-linked-text/

SL5 블로그 포스트 : 나는 SL5에 있었다면 http://10rem.net/blog/2011/04/13/silverlight-5-advancements-in-text

+0

하는 것은, 단순히 PInvoke를 (응용 프로그램은 Windows에서 실행)와 창문을 부를 것이다 API GetTextExtent – dudeNumber4

관련 문제