Completed
Last Updated: 06 Jan 2016 11:00 by ADMIN
ADMIN
Dimitar
Created on: 10 Dec 2015 11:49
Category: RichTextEditor
Type: Bug Report
0
FIX. RadRichTextEditor - there is an exception when the document contains InlineUIElements and the document is exported and then imported back. No information about the UIcontainers is exported as wel
To reproduce:
- Export document with an inline UI elements to HTML.
- Import the document.

 Workaround:
- Manually export the UI elements information and then create new UI elements when the document is imported:
void ImportSettings_InlineUIContainerImporting(object sender, InlineUIContainerImportingEventArgs e)
{
    PropertyInfo property = typeof(InlineUIContainerImportingEventArgs).GetProperty("Handled");
    property.GetSetMethod(true).Invoke(e, new object[] { true });

    ObjectHandle handle = Activator.CreateInstance("Telerik.WinControls.UI", e.CommentContent);
    Object control = handle.Unwrap();
    InlineUIContainer container = new InlineUIContainer();
    RadElementUIContainer radContainer = new RadElementUIContainer(control as RadElement);
    container.UiElement = radContainer;
    container.Height = 30;
    container.Width = 300;
    e.TargetParagraph.Inlines.Add(container);
}
//export
private void btnWrite_Click(object sender, EventArgs e)
{
    HtmlFormatProvider provider = new HtmlFormatProvider();
    provider.ExportSettings.InlineUIContainerExporting += ExportSettings_InlineUIContainerExporting;         
  
    File.WriteAllText(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\\TelerikUITest.html", provider.Export(this.radRichTextEditor1.Document));
}

void ExportSettings_InlineUIContainerExporting(object sender, Telerik.WinForms.Documents.FormatProviders.Html.InlineUIContainerExportingEventArgs e)
{
    string control = ((RadElementUIContainer)e.InlineUIContainer.UiElement).Element.ToString();
    e.CommentContent = control;
}

0 comments