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;
}