At the moment the table properties, including table, table row and table cell properties don't have size validation, i.e. it is possible to set them to negative or zero values. Validation should be added where necessary.
RichTextBox interprets the div tag by adding a new line upon its closing. However, when the content of the div tag is a br tag, the whole combination should be treated as one new line.
When a table is created, exported to HTML and then imported, the cells become taller. The reason for this behavior is that the table is by default with style TableGrid. When the table is exported to HTML, the style is preserved, however, upon import the style properties are set as local and the style itself is lost. The style by default defines LineSpacing="1" and SpacingAfter="0" for the paragraphs in the table and these are not copied as local. This means that if there is a style set to the table that defines paragraph properties as well, these properties will be set.
When inserting a new row using the InsertTableRowBelow below, the expected behavior would be to copy the paragraph styles of the paragraphs in the cells in the existing row. This works when there is a property set locally, e.g. the text is bold, but the paragraph style, e.g. Heading 1 is lost.
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.