In MS Word, there is an option to show gridlines over the pages of the document. Implement such an option in RadRichTextBox as well.
Workaround: The attached project offers a simple custom implementation.
Implement import and export of OpenDocument files (.odt).
In MS Word, when track changes are enabled, the users can choose to show the revisions in balloons, similar to comments. Add such possibility in RadRichTextBox as well.
Import description lists: <dl>, <dt>, <dd> tags. Possible way for implementation is with paragraphs with left margin.
API ideas: - DocumentSelection: Get inlines between annotation start and end, e.g. DocumentSelection.EnumerateChildrenOfType<>(bool includePartiallySelectedElements) where T : DocumentElement - DocumentSelection: SelectAnnotationRange(AnnotationRangeStart start, bool includeAnnotation). Such method is present without the last parameter, but it always selects the annotation ranges
When pressing Shift+Up(Down) should create a selection to the start(end) of the document when the caret position is on the first(last) line. Currently, in this case, a selection is not created. Such behavior can be achieved using the following approach: private void RadRichTextBox_CommandExecuting(object sender, CommandExecutingEventArgs e) { if (e.Command is MoveCaretCommand && System.Windows.Input.Keyboard.Modifiers == ModifierKeys.Shift) { var command = e.Command as MoveCaretCommand; MoveCaretDirections direction = (MoveCaretDirections)e.CommandParameter; if (direction == MoveCaretDirections.Up) { var positionOnFirstLine = new DocumentPosition(this.radRichTextBox.Document); positionOnFirstLine.MoveToFirstPositionInDocument(); if (this.radRichTextBox.Document.CaretPosition.Location.Y - positionOnFirstLine.Location.Y < 1) { this.radRichTextBox.Document.CaretPosition.MoveToPosition(positionOnFirstLine); e.Cancel = true; } } else if (direction == MoveCaretDirections.Down) { var positionOnLastLine = new DocumentPosition(this.radRichTextBox.Document); positionOnLastLine.MoveToLastPositionInDocument(); if (positionOnLastLine.Location.Y - this.radRichTextBox.Document.CaretPosition.Location.Y < 1) { this.radRichTextBox.Document.CaretPosition.MoveToPosition(positionOnLastLine); e.Cancel = true; } } } }
At this point, the FloatingUIContainers cannot be selected. Implement selection to enable the users to work easily with such elements.
This would enable the customers to track the content that is being inserted and decline its insertion if needed.
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.
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.
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.