Currently, working with bookmarks and cross references in the headers and footers of a document is not supported.
When exporting with RtfFormatProvider (including when the users copy content), an additional \par tag is added at the end of the document. Workaround: Process the RTF after it is generated. Here is an example how to achieve it when copying: this.radRichTextBox.CommandExecuted += radRichTextBox_CommandExecuted; ... void radRichTextBox_CommandExecuted(object sender, CommandExecutedEventArgs e) { if (e.Command is CopyCommand) { DocumentPosition end = this.radRichTextBox.Document.Selection.Ranges.Last.EndPosition; RadDocument clipboardDocument = ClipboardEx.GetDocument().ToDocument(); RtfFormatProvider provider = new RtfFormatProvider(); string rtfString = provider.Export(clipboardDocument); int indexLastParOpening = rtfString.LastIndexOf("{"); int indexLastParClosing = rtfString.IndexOf('}', indexLastParOpening); string newRtf = rtfString.Remove(indexLastParOpening, indexLastParClosing - indexLastParOpening + 1); Clipboard.SetData("Rich Text Format", newRtf); } }
Currently, when the users perform replace, and there are no more matches which should be replaced, the "The searched text was not found" message is shown. Add functionality to say that there are no more matches instead of saying that the text is not found.
When an RTF document contains table inside table in the header or in the footer, the document cannot be imported due to NullReferenceException. In the case of RadRichTextBox the exception is handled, but it's not when RtfFormatProvider is used directly. The bug is regression in 2016 R3.
The RTF specifications states that the header of the document should start with "\rtfN" where N is the version of the RTF. Currently, the RtfFormatProvider do not save the version, but only "\rtf". Most software handles this case, but in some cases the document cannot be read.
Provide option for configuring the measurement units (centimeters [cm], inches [in]) used throughout RadRichTextBox UI, including: - Ruler (currently supported and configurable through DocumentRuler.MeasurementUnit property which is of type UnitTypes) - Table dialogs - for indents, widths and heights - Paragraph indentation (currently shown only in points [pts]) - Section properties - header from top and footer from bottom - Page setup - columns width in Columns dialog - Page Margins and Page Size in Ribbon UI Currently parts of the dialogs and controls shows measures in pixels (actually DIPs), other in inches (e.g. ruler).
When dragged from the toolbox, the wizard adds only <telerik:RadRichTextBox /> tag and does not generate XAML for the Ribbon UI. Workaround: On second attempt, the UI of the ribbon is generated as expected. Note: The generation is not working in Visual Studio 2017, even on the second attempt. Available in R1 2018 Official Release version.
Provide option for exporting InlineUIContainer and FloatingUIContainer as images to docx and RTF format.
When the document contains headings with heading styles associated with numbering styles (numbered headings), and TOC field is inserted and/or updated in the document, the TOC items should contain the numbering which comes from the style. Instead, on update the numbering is lost and only heading text is included in the field result.
Implement advanced find dialog similar to MS Word which provides an option to search for paragraph end marker, tab character, and others.
InvalidOperationException is thrown in the IsInNonEditableRange() method of RadDocument when assigning a document to RadRichTextBox, which is created through the model and contains several read-only ranges. Workaround: Call MeasureAndArrangeInDefaulSize().
When continuous section break is copied from RichTextBox and pasted to MS Word, it is inserted as Next Page break.
When section break between tables is deleted, the document structure gets corrupted and as a result, NullReferenceException is thrown after performing undo of the deletion operation. As a workaround PageBreak could be used instead of Section break.
When text with Code 128 font is rendered in RadRichTextBox, there are some unexpected behaviours: - Spaces are not rendered (they have special representation in Code 128). This issue will be reproduced for all fonts which define special (non-empty) representation of the space character. - During rendering, UI inserts "Left-to-Right Mark" character and "Right-to-Left Mark" character, which are not defined in the font and appear as .notdef glyph, which is white rectangle. This issue will be reproduced for all fonts which do not define these characters.
When a table is on a page different than the first one and user clicks on the thumb for resizing the table row height, wrong value is calculated and passed to the setter of the TableRow's Height property. This leads to wrong table layout when the document is exported using RtfFormatProvider.
This includes resizing, rotating and moving. Consider implementing the full functionality for interaction with both floating and inline images.
This causes some problems if the hyperlink is edited and the document is exported and imported again.
Workaround:
private void RadRichTextBox1_DocumentChanged(object sender, EventArgs e)
{
var document = radRichTextEditor1.Document;
var fields = document.EnumerateChildrenOfType<FieldRangeStart>();
foreach (FieldRangeStart item in fields)
{
radRichTextEditor1.DeleteAnnotationRange(item);
}
}
Placing a floating image after the end of the last paragraph in a page and switching to Flow layout mode will result in missing an image. The image is actually there, but it is not in the viewport.
The start and end annotations are pasted along with the other content, trying to update the styles leads to cycle and StackOverflowException is thrown. Workaround: Remove the comments from the document in the clipboard: void radRichTextBox_ActiveDocumentEditorChanged(object sender, Telerik.Windows.Documents.UI.ActiveDocumentEditorChangedEventArgs e) { if (e.DocumentEditorType == Telerik.Windows.Documents.UI.DocumentEditorType.Comment) { var currentEditor = this.radRichTextBox.ActiveDocumentEditor as RadRichTextBox; currentEditor.CommandExecuting += activeEditor_CommandExecuting; } } void activeEditor_CommandExecuting(object sender, CommandExecutingEventArgs e) { if (e.Command is PasteCommand) { RadDocument pastedDocument = ClipboardEx.GetDocument().ToDocument(); RadDocumentEditor editor = new RadDocumentEditor(pastedDocument); editor.DeleteAllComments(); ClipboardEx.SetDocument(new DocumentFragment(pastedDocument)); } }
When document fragment containing consecutive spans with same style is inserted with RadRichTextBox.InsertFragment method, and the document is with specific structure (which is not exactly known), NullReferenceException in HierarchicalIndex.GetBoxByHierarchicalIndex could be thrown when text is typed in specific places in the document. Workaround: Ensure that such spans are merged before creating the fragment: var document = xamlProvider.Import(xaml); document.MergeSpansWithSameStyles(); var fragment = new DocumentFragment(document); rtb.InsertFragment(fragment); --------------------------------------- Sample call stack: System.NullReferenceException at Telerik.Windows.Documents.HierarchicalIndex.GetBoxByHierarchicalIndex(DocumentLayoutBox documentBox, HierarchicalIndex hierarchicalIndex) at Telerik.Windows.Documents.DocumentPosition.RestorePositionFromBoxIndex(Nullable`1 raiseEvent) at Telerik.Windows.Documents.Model.RadDocumentEditor.InsertTextInternal(String text, Span currentSpanStyle, Boolean explicitAcceptsReturn) at Telerik.Windows.Documents.Model.RadDocumentEditor.InsertFromUI(String text, Span currentSpanStyle, Boolean acceptsReturn) at Telerik.Windows.Controls.RadRichTextBox.Telerik.Windows.Documents.UI.ITextInputCommandsHandler.InsertText(String text) at Telerik.Windows.Documents.UI.CaretTextInputHandler.InsertText(String text) at Telerik.Windows.Documents.UI.CaretTextInputHandler.HandleTextInsertedWithoutIme(RadDocument document, String text) at Telerik.Windows.Documents.UI.CaretTextInputHandler.CaretUI_TextInserted(Object sender, TextInsertedEventArgs e) at Telerik.Windows.Documents.UI.Caret.OnTextInserted(Object sender, TextInsertedEventArgs e) at Telerik.Windows.Documents.UI.Caret.OnTextChanged() at Telerik.Windows.Documents.UI.Caret.Caret_TextChanged(Object sender, TextChangedEventArgs e) ... Fix available in LIB Version 2018.2.813.