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 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.
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(" "); } }
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).
RadParagraphPropertiesDialog throws NullReferenceException when paragraphs with different type of indent (hanging + first line) are selected, and then alignment is applied through the dialog. Steps to reproduce: Variant 1: - Insert three paragraphs (press Enter two times in a blank document). - Using the document ruler (do not use the RadParagraphProperties dialog), modify first line indent on the first paragraph to some value, and handing indent of the second to some value. - Select the two paragraphs and open Paragraph Properties dialog. (Note: can be reproduced more easily on first opening of the dialog). - Change Indentation -> Left: value to 6 pt. - Press OK. NullReferenceException is thrown. Available in LIB Version 2017.3.1023.
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 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.
When a document with NumPages field in header or footer is exported to PDF, NumPages field is evaluated wrongly - 1 for the first page, 2 for the second page, etc. The bug is regression, introduced with R3 2017 SP1 (2017_3_1018). Fix available in LIB Version 2017.3.1211.
SelectionMiniToolBar and ImageMiniToolBar stay visible when keys associated with commands bindings are pressed, for example: - When Delete key is pressed - When arrow keys are pressed The expected behavior is mini tool bars to hide on each key press. Fix available in LIB Version 2017.3.1211.
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 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.
There is a large performance hit when manipulating an area of the document with many annotation ranges in it. Fix available in LIB Version 2018.1.326.
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.
A document contains a field in result mode different that the one specified in the export settings in the format providers (i.e. a field that need to be updated during the export), and this field is in a header/footer, and another header/footer contains a table with AutoFit to Window size. When this document is exported to docx or RTF, the table is exported with 0 width. The table is visualized splashed in RadRichTextBox, and MS Word behaves strangely and/or doesn't visualize the table at all. The bug is regression in 2018 R1. Workaround 1: Change the result mode of all fields in the headers/footers to match the one set in format provider export settings (Result by default) just prior the export. Workaround 2: Set DocxFormatProvider.ExportSettings.FieldResultMode to null. For the default format provider used from the default Save command, use the following: ((DocxFormatProvider)DocumentFormatProvidersManager.GetProviderByExtension("docx")).ExportSettings = new DocxExportSettings() { FieldResultMode = null }; Fix available in LIB Version 2018.2.723.
Paragraph spacing from table style is not exported for each paragraph inside the table. The table style defines paragraph properties which should be respected when exporting the styles to HTML. Workaround: Apply the paragraph settings coming from the table style directly to the elements.foreach
(var table
in
radRichTextBox.Document.EnumerateChildrenOfType<Table>())
{
foreach
(var paragraph
in
table.EnumerateChildrenOfType<Paragraph>())
{
paragraph.LineSpacing = table.Style.ParagraphProperties.LineSpacing;
paragraph.LineSpacingType = table.Style.ParagraphProperties.LineSpacingType;
paragraph.AutomaticSpacingAfter= table.Style.ParagraphProperties.AutomaticSpacingAfter;
paragraph.AutomaticSpacingBefore = table.Style.ParagraphProperties.AutomaticSpacingBefore;
paragraph.SpacingAfter = table.Style.ParagraphProperties.SpacingAfter;
paragraph.SpacingBefore = table.Style.ParagraphProperties.SpacingBefore;
}
}
When the position on which the users right-click is an annotation start or end marker, the context menu doesn't provide suggestions about spellcheck errors. Steps to reproduce: 1. Type "The greater the better" in RadRichTextBox with enabled spellchecking 2. Turn on track changes 3. Move the caret to the 't' of "greater" 4. Insert 't' so the word becomes wrong 5. Right-click on the 't' letter inserted in step 4 Observed: The context menu doesn't show suggestions for fixing the misspelled word Expected: The context menu should suggest a fix
- Localization for "Simple text" in the Define New List Style dialog and Define New Style dialog at RadRichTextBox. - Levels (from 1st to 9th) are hardcoded in dialog's code behind and cannot be localized. (these are the items in the 'Apply Formatting to' comboBox)
The "Text Wrapping" string, used in the FloatingBlockPropertiesDialog lacks translations in Spanish and French. In the English and Turkish values, a space is missing between the words. Fix available in LIB Version 2018.1.416.
When pasting a big image in RichTextBox, it is pasted with its original size. It should be resized so it can fit on the page. Similar logic is available in the InsertPictureCommand. Workaround: private void RadRichTextBox_CommandExecuting(object sender, CommandExecutingEventArgs e) { if (!(e.Command is PasteCommand)) { return; } DocumentFragment res = ClipboardEx.GetDocumentFromClipboard("RadDocumentGUID"); if (res == null) { foreach (ClipboardHandler settings in ClipboardEx.ClipboardHandlers) { res = ClipboardEx.GetDocumentFromClipboard(settings.ClipboardDataFormat, settings.ClipboardStringFilter); } } if (res == null) { e.Cancel = true; var bitmapSource = Clipboard.GetImage(); if (bitmapSource == null) { return; } Padding sectionmargin = this.radRichTextBox.Document.CaretPosition.GetCurrentSectionBox().AssociatedSection.ActualPageMargin; double originalPixelWidth = bitmapSource.Width; double originalPixelHeight = bitmapSource.Height; if (originalPixelWidth == 0 || originalPixelHeight == 0) { originalPixelWidth = 10; originalPixelHeight = 10; } double width = originalPixelWidth; double height = originalPixelHeight; if (this.radRichTextBox.Document.LayoutMode == DocumentLayoutMode.Paged) { Section currentSection = this.radRichTextBox.Document.CaretPosition.GetCurrentSectionBox().AssociatedSection; var pageSize = (SizeF) currentSection.GetType().GetProperty("ActualPageSize", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic).GetValue(currentSection, null); double maxWidth = pageSize.Width - (sectionmargin.Left + sectionmargin.Right); double maxHeight = pageSize.Height - (sectionmargin.Top + sectionmargin.Bottom); width = Math.Min(maxWidth, width); height = Math.Min(maxHeight, height); } double ratio = originalPixelWidth / originalPixelHeight; width = Math.Min(width, height * ratio); height = width / ratio; Size size = new Size(width, height); ImageInline imageInline = new ImageInline(new WriteableBitmap(bitmapSource)); imageInline.Size = size; this.radRichTextBox.ActiveDocumentEditor.InsertInline(imageInline); } }