Freigeben über


WinRT - RichEditBox muestra caracteres extraños al abrir documento RTF

Básico

En algunas ocasiones necesitamos cargar documentos RTF en un RichEditBox no direcamente desde archivo sino de otras fuentes, en estas ocasiones es común encontrarnos conque nuestro RTF se muestra de la siguiente manera

 {\cf1 Hola Mundo} \b nice text\b0

Es decir nuestro RTF muestra el código pero el RichEditBox no es capaz de interpretarlo, este error se debe principalmente a que no se ha indicado el encabezado estandard de un documento RTF. En WinRT todo documento RTF debe estar contenido dentro de los siguientes tag como mínimo:

 {\rtf1 CONTENIDO }

Sin embargo es recomendable incluir información relacionada con la versión del documento, quedando de esta manera:

 {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1033 CONTENIDO }

Si envias el documento (o sea la cadena de texto con la información) dentro de estos tag entonces al cargar la información dentro del RichEditBox debes asegurarte de indicarle el formato que debe aplicar, ejemplo:

 string cadena = @"{\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1033 Hello World\par}";
MyRichEditBox.Document.SetText(TextSetOptions.FormatRtf, cadena);

De esta forma ya no apreceran carácteres 'basura' el cargar tus datos RTF en un RichEditBox.