When the first table row of each table (main as well as nested) has RepeatOnEveryPage set, the table header of the nested table overlaps the row on the new page.
Hyphenated words (like "good-looking", "dry-clean", "twenty-seven") should be passed to the spellchecker as a whole word. The current mechanism works well enough for English, however, for some languages and dictionaries it is necessary to pass the whole hyphenated word to the spellchecker.
The non-breaking space breaks the word if a comma character is presented in the word. For example, the following text should be treated as one word - 10,0 % but it is separated into to words - 10,0 and %.
The issue can be observed when the word should break on the next line.
When RadRichTextBox.DocumentInheritsDefaultStyleSettings is set to true, lists in the document are exported to HTML with Verdana font, instead of with the font applied in the UI. Workaround: Use modification of the document default styles ("Normal") instead of setting DocumentInheritsDefaultStyleSettings to true, e.g.: this.radRichTextBox.Document.StyleRepository["Normal"].SpanProperties.FontFamily = new FontFamily("Segoe UI");
When a paragraph is triple-clicked, then the whole paragraph is selected. However, when there is a table beneath the paragraph and triple-click action is performed for the paragraph (or a selection is created including the end of the paragraph), the table's first row is selected as well.
There is a memory leak related to the referenced elements by style in the style repository from the main document. The referenced elements are from headers and footers.
When floating image is added to empty table cell, it is positioned in a way that overlaps the table border.
The dialogs don't have an owner, thus they behave unexpected and can be easily lost from the user and block the UI. This applies to many of the RadWindow.Alert() invocations in the UI of RichTextBox.
There is a glitch in the font's combobox when importing html that contains table and there is an image in the cell. It shows wrong font family. Typing on the other hand works correctly and the appropriate font is used.
InvalidCastException that is handled is thrown in a scenario with two tables with no paragraphs in between, a page break before the tables and the user inserts paragraph in the second table. As a result, the user is unable to delete content when the selection includes the table ( the one produced by merging the two tables after the paragraph deletion).
Setting IsLinkedToPrevious to false is not respected on export to DOCX/RTF for an empty header when the footer contains page field. The header is not exported at all. Workaround: Add some content to the header (it might be a single space). foreach (var section in this.radRichTextBox.Document.Sections) { if (section.Headers.Default.IsEmpty) { RadDocumentEditor editor = new RadDocumentEditor(section.Headers.Default.Body); editor.Insert(" "); } }
When Justify text alignment is applied to a paragraph, it should not increase the space between word which are before the last tab symbol for each line. Steps to reproduce: - Open RadRichTextBox in Paged layout mode, default A4 section size - Type the following text: -- "Welcome Welcome Welcome Welcome Welcome " -- then tab symbol -- then "test1 test1 uncharacteristically" - Switch paragraph alignment to Justify. Expected: The space between 'Welcome' words remains the same in Left and Justify alignments. Actual: The space between 'Welcome' words is increased when Justify alignment is chosen, as compared to when Left is chosen.
Pressing Tab/Shift+Tab when caret position is at the beginning of a paragraph should change current paragraph FirstLineIndent instead of LeftIndent. First line indent should be changed with Document.DefaultTabWidth step. Workaround (using PreviewEditorKeyDown): in the attached file.
Inserting DocumentFragment into RadDocument leads to loss of style definitions from the fragment which names are the same as some of the styles in the RadDocument's style repository. This causes loss of formatting of the text in the document fragment. For example if in the fragment there is a style with style name "Style_1" and in the RadDocument exists a style with the same name, that style will be omitted during the insertion of the fragment into the document. Workaround: Styles in the fragment could be renamed to avoid naming conflict with styles in the main document. For example, add the following code snippet right after the importing of the document and before the creation of the fragment: string styleSuffix = "_1"; foreach (var importedStyle in rtfDoc.StyleRepository) { importedStyle.Name = string.Concat(importedStyle.Name, styleSuffix); } This will automatically change the styles of all elements with the renamed styles.
Creating deep copy using CreateDeepCopy method of an empty Section (without paragraphs or with one empty paragraph) adds empty string Span which leads to ArgumentOutOfRangeException. Workaround: clear the empty string Spans before measuring: foreach (Span span in sectionClone.EnumerateChildrenOfType<Span>().ToList()) { if (string.IsNullOrEmpty(span.Text)) { ((Paragraph)span.Parent).Inlines.Remove(span); } } Steps to reproduce: 1. Execute the following code-snippet: RadDocument document = new RadDocument(); Section section = new Section(); section.Blocks.Add(new Paragraph()); document.Sections.Add(section); RadDocument documentClone = (RadDocument)document.CreateDeepCopy(); Section sectionClone = (Section)section.CreateDeepCopy(); documentClone.Sections.Clear(); documentClone.Sections.Add(sectionClone); documentClone.EnsureDocumentMeasuredAndArranged(); 2. Set the documentClone to a RadRichTextBox instance to visualize it. 3. Try to click in the document. Observe: ArgumentOutOfRangeException is thrown.
Comments are getting collapsed and clipped when there is not enough vertical space to display all of them.