Pressing Delete at the end of a paragraph leads to merging the content of the current paragraph with the next block. However, when the deleted paragraph contains a single space, the layout stops updating after pressing Delete. Steps to reproduce: 1. Create two tables with paragraph between them 2. Add a space to the paragraph 3. Press Delete (when the caret is just after the space) Observed: The layout is not updated after this and further modifications Workaround: Delete the space before deleting the paragraph: private void RadRichTextBox_CommandExecuting(object sender, Telerik.Windows.Documents.RichTextBoxCommands.CommandExecutingEventArgs e) { if (e.Command is DeleteCommand && this.radRichTextBox.Document.Selection.IsEmpty) { Paragraph currentParagraph = this.radRichTextBox.Document.CaretPosition.GetCurrentParagraphBox().AssociatedParagraph; if (currentParagraph.Inlines.Count==1 && string.IsNullOrWhiteSpace((currentParagraph.Inlines.First as Span).Text)) { this.radRichTextBox.Delete(true); } } }
When cross-reference is added in the header/footer of a document in does not show the available options from the document. XAML team reviewed this item and noted that it duplicates with another one. Please use the item below in order to track the status of this request. https://feedback.telerik.com/Project/143/Feedback/Details/210419-richtextbox-add-functionality-to-work-with-cross-references-and-hyperlinks-to-bo
WMF contains both bitmap and vector elements and currently RTB supports only the bitmap parts. We should consider adding support for the vector elements as well.
When a value is selected in the FontSize combo box using the arrows and Enter, the font size of the selected text is not updated. The same scenario is working as expected when using the font size combo box from the ribbon.
NullReferenceException is thrown when documents are exported to PDF using PdfFormatProvider in multiple threads. Available in R1 2018 Official Release Version.
If header/footer containing annotations is set to a document using RadDocumentEditor.ChangeSectionHeader or ChangeSectionFooter methods, the annotations in the body of the header/footer are not paired in the resulting document. When such document is exported to XAML, NullReferenceException is thrown in the ReindexAnnotationMarkers internal method. Workaround: - Do not use RadDocumentEditor to set the footer: //editor.ChangeSectionFooter(radDocument.Sections.First, HeaderFooterType.Default, new Footer { Body = footerRadDocument }); radDocument.Sections.First.Footers.Default.Body = footerRadDocument; - Manually "fix" the cloned footer body before the export: ((ISupportInitialize)radDocument.Sections.First.Footers.Default.Body).EndInit();
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.
NullReferenceException is thrown when some of the parts in the template of SelectionMiniToolBar are missing, e.g. bold button, italic button, etc.; and selected text properties are changed while the selection mini tool bar is still opened, for example by clicking buttons in the ribbon UI. Available in LIB Version 2017.3.1225.
In MS Word, the users can change the alignment of a table using the buttons related to Paragraph alignment. To do that, the whole table must be selected. In RadRichTextBox, selecting a Table and pressing one of the buttons, let say for Right alignment, leads to aligning the content of the table and not the table itself. Workaround: private void RadRichTextBox_CommandExecuting(object sender, CommandExecutingEventArgs e) { if (e.Command is ChangeTextAlignmentCommand && this.radRichTextBox.Document.Selection.Ranges.Count == 1 && this.radRichTextBox.Document.Selection.Ranges.First.RangeType == SelectionRangeType.Table && e.CommandParameter.ToString() != "Justify") { e.Cancel = true; RadDocumentEditor editor = new RadDocumentEditor(this.radRichTextBox.Document); RadHorizontalAlignment newAlignment = (RadHorizontalAlignment) Enum.Parse(typeof(RadHorizontalAlignment), e.CommandParameter.ToString()); editor.ChangeTableHorizontalAlignment(newAlignment); } } NOTE: With this approach, the toggle buttons in the UI are not updated properly and this should be additionally handled.
When applying a table style, the previously applied local properties to a table or cell should be cleared and the ones defined by the style should be used. Workaround: Create a new Table and apply the style to it; then copy the properties to the existing table in the document private void RadRichTextBox_CommandExecuting(object sender, CommandExecutingEventArgs e) { if (e.Command is ChangeStyleNameCommand && this.radRichTextBox.Document.CaretPosition.IsPositionInsideTable) { StyleDefinition style = this.radRichTextBox.Document.StyleRepository.GetValueOrNull(e.CommandParameter.ToString()); if (style.Type == StyleType.Table) { Table currentTable = this.radRichTextBox.Document.CaretPosition.GetCurrentTableBox().AssociatedTable; currentTable.Borders = new TableBorders(style.TableProperties.Borders); Table tableWithStyle = new Table(currentTable.Rows.Count, currentTable.Rows.First.Cells.Count); tableWithStyle.Style = this.radRichTextBox.Document.StyleRepository.GetValueOrNull(e.CommandParameter.ToString()); for (int rowIndex = 0; rowIndex < currentTable.Rows.Count; rowIndex++) { for (int columnIndex = 0; columnIndex < currentTable.Rows.First.Cells.Count; columnIndex++) { TableCell cell = currentTable.Rows.Skip(rowIndex).First().Cells.Skip(columnIndex).First(); TableCell cellWithStyle = tableWithStyle.Rows.Skip(rowIndex).First().Cells.Skip(columnIndex).First(); cell.Background = cellWithStyle.Background; cell.Borders = cellWithStyle.Borders; } } this.radRichTextBox.UpdateEditorLayout(); e.Cancel = true; } } }
Tapping on a selected region in a document should show the selection mini toolbar. A second tap should clear the selection and then place the cursor on the tapped location, but this does not happen. Subsequent tap should select the entire word and another tap should select the paragraph.
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.
'Decrement paragraph left indent' command can set negative left indent which makes bullets/numbering of a list clipped. Instead, it shouldn't be executed if the bullets/numbering would become invisible. Workaround: Cancel the command in CommandExecuting event: this.radRichTextBox.CommandExecuting += (sender, e) => { if (e.Command == this.radRichTextBox.Commands.DecrementParagraphLeftIndentCommand) { if (this.radRichTextBox.Document.Selection.GetSelectedParagraphs().Any(p => p.IsInList && p.LeftIndent <= 24)) { e.Cancel = true; } } };
In Word and WordPad when hitting Ctrl+Down Arrow the cursor moves to the start of the next paragraph, until the last paragraph in the document where it moves to the end of the document. In Telerik editor it moves to the end of the paragraph. Steps to reproduce: - Load a document with multiple lines of text - Click near the top of the document and hit Ctrl+Down repeatedly Expected: The cursor moves down one paragraph at a time with the cursor at the start of the paragraph Actual: The cursor moves down one paragraph at a time with the cursor at the end of the paragraph Fix available in LIB Version 2017.3.1218.
Permission's range bracket disappears when it is positioned on the last line of the page.
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.
When the tag \sl (line spacing) has value 0, according to the specification it should be calculated according to the highest character in the line, which corresponds to the LineSpacingType single. Instead, in RTB this text disappears. Workaround: private void RadRichTextBox_DocumentChanged(object sender, EventArgs e) { foreach (var paragraph in this.radRichTextBox.Document.EnumerateChildrenOfType<Paragraph>()) { if (paragraph.LineSpacing == 0) { paragraph.LineSpacing = 1; } } } Fix available in LIB Version 2017.3.1211.
Show a preview of how a feature affects the document as the user hovers over the different options in the user interface, e.g.: - when a style is hovered in the styles gallery, temporarily apply the style to the affected text; - when a font size is hovered in the font size combo (in the ribbon or in the SelectionMiniToolBar), temporarily apply the hovered font size to the affected text.
Currently, blockquote tags are imported as paragraphs. Change the mechanism so they can be imported as citations.
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.