To reproduce:
this.radRichTextEditor1.Text = null;
Use the code below.
1. Click the first button to insert a link.
2. Click inside the link to move the cursor.
3. Click the second button to insert the yellow rectangle
4. Click the third button to export the HTML content.
Actual result: StackOverflow exception occurs
private void radButton1_Click(object sender, EventArgs e)
{
HyperlinkInfo info = new HyperlinkInfo()
{
NavigateUri = "http://www.google.com",
Target = HyperlinkTargets.Blank,
IsAnchor = false
};
this.radRichTextEditor1.InsertHyperlink(info, "www.google.com");
}
private void radButton2_Click(object sender, EventArgs e)
{
LightVisualElement button = new LightVisualElement();
button.Text = "My Button";
button.DrawFill = true;
button.BackColor = System.Drawing.Color.Yellow;
button.GradientStyle = Telerik.WinControls.GradientStyles.Solid;
Section section = new Section();
Paragraph paragraph = new Paragraph();
InlineUIContainer container = new InlineUIContainer();
RadElementUIContainer radContainer = new RadElementUIContainer(button);
container.UiElement = radContainer;
container.Height = 25;
container.Width = 70;
paragraph.Inlines.Add(container);
section.Blocks.Add(paragraph);
RadDocument doc = new RadDocument();
doc.Sections.Add(section);
radRichTextEditor1.InsertFragment(new DocumentFragment(doc));
}
private void radButton3_Click(object sender, EventArgs e)
{
Telerik.WinForms.Documents.Model.RadDocument document = radRichTextEditor1.Document;
Telerik.WinForms.Documents.FormatProviders.Html.HtmlFormatProvider provider = new Telerik.WinForms.Documents.FormatProviders.Html.HtmlFormatProvider();
provider.ExportSettings.InlineUIContainerExporting += ExportSettings_InlineUIContainerExporting;
provider.ExportSettings.DocumentExportLevel = Telerik.WinForms.Documents.FormatProviders.Html.DocumentExportLevel.Fragment;
provider.ExportSettings.ExportFontStylesAsTags = true;
provider.ExportSettings.SpanExportMode = Telerik.WinForms.Documents.FormatProviders.Html.SpanExportMode.DefaultBehavior;
string htmlValue = provider.Export(document);
webBrowser1.DocumentText = htmlValue;
}
private void ExportSettings_InlineUIContainerExporting(object sender, Telerik.WinForms.Documents.FormatProviders.Html.InlineUIContainerExportingEventArgs e)
{
}
If you remove the last span of a paragraph (on a measured document), using the inline collection, a NullReferenceException is thrown.
As a workaround: either make sure the manipulation happens on a non-measured document, or remove the span by using the RichTextEditor's API:
this.radRichTextEditor.Document.Selection.AddDocumentElementToSelection(span);
this.radRichTextEditor.Delete(false);
Add Korean language to your machine:
Then type 'rkskekfk'. The expected symbols are: "가나다라". However, if you try selecting the entered text, the last symbol disappears:
"http://" prefix is automatically added by the Insert Hyperlink Dialog when the provided URI is to local path or mapped drive, e.g. "Z:\temp". Workaround 1: Set HyperlinkPattern to something that matches file paths, e.g.: (this.radRichTextEditor1.RichTextBoxElement.InsertHyperlinkDialog as InsertHyperlinkDialog).HyperlinkPattern = ".*"; Workaround 2: Insert such paths with the "file://" prefix.
The ChangeFontStyle method does not work when setting Underline:
radRichTextEditor1.ChangeFontStyle( FontStyle.Underline);
Workaround:
radRichTextEditor1.ToggleUnderline();
When a document is imported from HTML, we set locally to the span elements Times New Roman nevertheless it is not declared anywhere. This breaks the document view if for example we decide to change the RadDocument's default font family or even the NormalWeb style's font. The same applies for the font size as well.
Workaround: Clear the FontFamily property after import
foreach (Span span in this.radRichTextBox.Document.EnumerateChildrenOfType<Span>())
{
span.GetStyleProperty(Span.FontFamilyProperty).ClearValue();
span.GetStyleProperty(Span.FontSizeProperty).ClearValue();
}
Steps to reproduce:
1. Import the following html:
this.radRichTextBox.Document = new HtmlFormatProvider().Import(@"<h1>Hello</h1><h2>World</h2><p>Lorem ipsum<p>");
2. Set the document's default font family to Comic Sans MS:
this.radRichTextBox.Document.Style.SpanProperties.FontFamily = new FontFamily("Comic Sans MS");
Observe: The font in the document is Times New Roman
Expected: The font should be Comic Sans MS
When changing the theme through ThemeResolutionService.ApplicationThemeName all the application gets changed. Except the ForeColor of the RadRichTextEditor does not get change. Hence the box displays black text on a dark background. Quite unreadable.
Assigning the theme directly in the designer makes everything renders ok.
Sample application attached.
Regrads,
Matthias
The default browser paragraph spacing is not preserved during HTML import-export.
Workaround:
StyleDefinition normalStyle = this.radRichTextEditor1.Document.StyleRepository[RadDocumentDefaultStyles.NormalWebStyleName];
normalStyle.ParagraphProperties.SpacingAfter = 20;
normalStyle.ParagraphProperties.SpacingBefore = 20;