When the RadRichTextBox is focused via clicking on it or via RadRichTextBox.Focus() the visual feedback is not diplayed. Workaround: create a style trigger for that (for example for the Office2016 theme): <Style TargetType="{x:Type telerik:RadRichTextBox}" BasedOn="{StaticResource RadRichTextBoxStyle}"> <Style.Triggers> <Trigger Property="IsKeyboardFocusWithin" Value="True"> <Setter Property="BorderBrush" Value="{telerik:Office2016Resource ResourceKey=AccentFocusedBrush}" /> <Setter Property="BorderThickness" Value="1" /> </Trigger> </Style.Triggers> </Style>
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.
Characters like 🙋🏻 are not imported correctly and instead result in a series of question marks. Fix available in LIB Version 2018.2.716.
The RadNumericUpDown buttons are too small and the selected value is not visible. The issue is not reproducible in NoXaml. Fix is available in LIB Version 2018.2.716.
Currently RadRichTextBox uses the .NET syntax for the date and time formatting of the code fields. When such strings are exported to or imported from RTF/DOCX, the date and time formatting switch should be converted according to the document format specifications (e.g. 17.16.4.1 Date and time formatting from OOXML specification). Examples of differences: - 'tt' in .NET is converted to am/pm specifier for the current culture. In DOCX specification, this is denoted as 'am/pm' - '/' in .NET is converted to date separator for the current culture. In DOCX specification, the symbol doesn't have special meaning, so it's always converted to '/'. .NET date format strings: https://docs.microsoft.com/en-us/dotnet/standard/base-types/custom-date-and-time-format-strings MS Word date format strings: https://support.office.com/en-us/article/insert-edit-and-view-fields-in-word-c429bbb0-8669-48a7-bd24-bab6ba6b06bb#bm9 Workaround (partial): Modify InsertDateTimeDialog to contain only formats which are compatible with MS Word.
When a table in HTML document has width set to 0 (through an attribute or CSS style), the table is imported with 0 width in the document model. This makes the content unreadable. Instead, such width should be treated as if width is not set at all - this way the layout will use only the widths set to the cells. Workaround: Clear the PreferredWidth property if it is 0. var tables = this.radRichTextBox.Document.EnumerateChildrenOfType<Table>(); foreach (var table in tables) { if (table.PreferredWidth.Value == 0) { table.PreferredWidth = null; } } Fix available in LIB Version 2018.1.326.
List items with <li style="list-style-type:disc"> are not imported from HTML. The style works fine when it is added in the parent <ul> element. This behavior also breaks the copy/paste functionality when user copies bullet lists from a Google Document.
When content has a font-size applied in EM values and the UseDefaultStylesheetFontProperties property of HtmlFormatProvider is set to true, the imported content has pretty small values for font size.
Font weight, size and other current editing style properties are not preserved when Shift + Enter key combination is used and the user continues typing. Note: this is true not only for font weight but for other styling properties such as size, italic etc.
The 'white-space' CSS property determines how whitespace inside an element is handled. The 'pre' value preserves the sequences of whitespaces and the newlines in the element content. This property value is supported by MS Word.
When selection is applied quick after format painter is clicked formatting is not applied.
When copying the formatting using span to span selection, any formatting applied with a character style is lost.
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