If the empty run is defined with start-tag and end-tag the import is correct: <w:p> <w:r></w:r> </w:p> However, if it is defined with empty-element tag, its parent Paragraph is not imported: <w:p> <w:r/> </w:p> Fix available in R2 2018 SP1 release version.
When a merged cell contains more than one entire column, the caret is in the merged cell and you chose the option to delete the current column, the action is supposed to delete all the columns in the merged cell. What happens instead is that only the first column is deleted and the merged cell remains. Workaround: TableCell tableCell = this.radRichTextBox.Document.CaretPosition.GetCurrentInline().Parent.Parent as TableCell; if(tableCell == null) { return; } int columnSpan = tableCell.ColumnSpan; this.radRichTextBox.Document.History.BeginUndoGroup(); for (int i = 0; i < columnSpan; i++) { this.radRichTextBox.DeleteTableColumn(); } this.radRichTextBox.Document.History.EndUndoGroup("Delete Column");
When the document uses a font that cannot be found on the machine, it is substituted for another font. What should happen is to fall back to another font for the visualization, but to preserve the original font in the model. Partial workaround: for HTML import, the font can be preserved by subscribing to the FontSubstituting event: provider.ImportSettings.FontSubstituting += ImportSettings_FontSubstituting; private void ImportSettings_FontSubstituting(object sender, FontSubstitutingEventArgs e) { e.SubstitutionFontFamily = new FontFamily(e.OriginalFontName); }
Some of the methods in RadDocumentEditor/RadRichTextBox call RadDocument.EnsureDocumentMeasuredAndArranged(), but some don't, for example: - InsertAnnotationRange - InsertLine - ChangeAllFieldsDisplayMode This causes exceptions or incorrect behavior what layout is not performed on the document. Workaround: Call EnsureDocumentMeasuredAndArranged before the problematic methods.
Implement built-in support for the Sogou Pinyin Input Method Editor. Sogou Pinyin is the most popular IME in China (above 80% of the users are using it). Currently RadRichTextBox doesn't support Sogou Pinyin IME out of the box, and the users have to manually implement it, as described in the "How to implement your own IME support?" ( https://docs.telerik.com/devtools/wpf/controls/radrichtextbox/ime-support#how-to-implement-your-own-ime-support ) help article and the CustomCaret (https://github.com/telerik/xaml-sdk/tree/master/RichTextBox/CustomCaret ) SDK example.
When the users select a table using the thumb provided by the TableAdorner, the table is selected but the Table Tools contextual tab in RadRichTextBoxRibbonUI is not activated. Workaround: Attach to SelectionChanged and move the caret position to the first position of the table when the selection range is only one and is of type Table. Sample code is attached.
Switching between bulleted and numbered lists only affects current paragraph instead of changing the list for all paragraphs currently included in it. Steps to reproduce 1. Create a numbered list with several items 2. Click the bulleted list button Expected behavior: The entire list switches from numbered to bulleted Actual behavior: The current list item switches to bulleted but the rest of the list remains numbered. Workaround: When the ToggleBulletsCommand is executed, traverse the PreviousSiblings and NextSiblings of the current paragraph and change their list properties if they belong to the same list. Sample code attached. Note: the workaround will change the list properties only for the consecutive paragraphs of the same list and will create a selection to do so.
When a span element's opening and closing tags are on different lines in the HTML and there is no content in the span, it should be imported as a single space. For example, the following HTML: test,<span> </span>test<span> should be imported as test, test Note: If there is content in the span that is split between the lines, it is correctly imported: test,<span>a </span>test<span> results in test,a test
<samp> HTML element could be imported as span with specific formatting. Currently it's just ommited.
Annotation Ranges where SkipPositionBefore is set to false on the AnnotationRangeEnd cause cursor jumps when deleting content to the right of the Annotation Range. Steps to reproduce: 1. Open a job with Annotation Ranges where SkipPositionBefore is set to false on the AnnotationRangeEnd (I used the Document Protection sample in the demo app) 2. Move your cursor to the end of the range. 3. Hit the delete key Expected: The cursor remains at the end of the AnnotationRange and content to the right is deleted. Actual: Content to the right is deleted but eventually the cursor will jump to the right by one position and end up outside the Annotation Range.
Currently unknown/unsupported elements are skipped, which potentially loses text content. Consider adding setting in HtmlImportOptions allowing the phrasing content (text) of these elements to be imported. Sample HTML: <html> <body> <test-test>test-test</test-test> <body/> </html> Browsers visualize it as "test-test", while RadRichTextBox doesn't import anything. MS Word imports such elements as inline elements (just like spans).
The field result shows the number of pages the current section contains.
When RadRichTextBox for WPF is hosted in a WinForms application (through ElementHost), typing with Japanese IME duplicates the typed letters, which makes the control unusable with the default behavior. Possible workaround: Create custom caret. There are some suggestions in this forum thread: https://www.telerik.com/forums/richtextbox-doesn't-support-japanese-ime-when-hosted-in-winforms
Implement Auto Text gallery for inserting text. More information related to Auto Text can be found on the following post: https://support.office.com/en-us/article/automatically-insert-text-0bc40cab-f49c-4e06-bcb2-cd43c1674d1b
Case 1: Deleting selected part from the beginning of a comment range causes the caret to appear on the next document position than the expected one. Steps to reproduce: - Load a document with annotation ranges - Select from the start of the annotation ranges into the first word in the range - Hit delete/backspace or call Delete() on the API - The cursor will end up one position too far to the right after the content is removed Case 2: Annotation Ranges where SkipPositionBefore is set to false on the AnnotationRangeEnd cause caret position to jump when deleting content to the right of the Annotation Range. Steps to reproduce: - Open a document with Annotation Ranges where SkipPositionBefore is set to false on the AnnotationRangeEnd (the Document Protection sample in the demo app can be used) - Move the caret to the end of the range. - Hit the delete key Expected: The caret remains at the end of the AnnotationRange and content to the right is deleted. Actual: Content to the right is deleted but eventually the caret will jump to the right by one position and end up outside the Annotation Range.
Deleting table right after merged fields are updated causes StackOverflowException.
The Outline view shows the content of a document as bulleted points. It enables the user to easily move whole paragraphs within the document or to create headings.
Allow the customers to change the properties defined in the default stylesheet. They need to change properties like font size, font family, border-spacing, line-spacing, as in RadRichTextBox they might be different from the ones used by the browsers.
Loading large documents freezes the UI. Instead, the document could be imported and measured asynchronously in a background thread, and some progress indicator shown to the user.
Note: Image sources should be frozen when the document is loaded in a background thread.
Workaround: Following the steps:
- Import the document in a background thread using the specific format provider.
- Freeze all images in the document using the methods in the attached file.
- Set the document to RadRichTextBox in the main thread using a dispatcher: this.Dispatcher.Invoke(new Action(() => { this.radRichTextBox.Document = document; }));
Implement an option for the customers to split a document into two views, allowing them to edit and view different parts of the document at the same time.