If there is an empty cell with a permission range and you go to it by pressing the Tab key from the previous cell and then start typing it removes the annotation range. If the cell with the permission range is not empty and the same technique is used there is an InvalidOperationException thrown with the message: "Selection contains uneditable ranges".
Here is a workaround:
this.radRichTextBox.CommandExecuted += this.RadRichTextBox_CommandExecuted;private void RadRichTextBox_CommandExecuted(object sender, CommandExecutedEventArgs e)
{
if (e.Command is TabForwardCommand)
{
DocumentPosition caret = this.radRichTextBox.Document.CaretPosition;
if (caret.IsPositionInsideTable)
{
DocumentSelection selection = this.radRichTextBox.Document.Selection;
DocumentPosition start = selection.Ranges.First.StartPosition;
DocumentPosition end = selection.Ranges.Last.EndPosition;
Inline currentInline = start.GetCurrentInline();
if (currentInline is PermissionRangeStart)
{
start.MoveToNext();
}
Inline previousInline = end.GetPreviousInline();
if (previousInline is PermissionRangeEnd)
{
end.MoveToPrevious();
}
this.radRichTextBox.Document.Selection.SetSelectionStart(start);
this.radRichTextBox.Document.Selection.AddSelectionEnd(end);
}
}
}First, you need to subscribe to the CommandExecuted event. Then change the selection after a TabForwardCommand to exclude the PermissionRangeStart and PermissionRangeEnd elements. Your workaround also works, so there is no need to change it.
foreach (Span span in paragraphCopy.EnumerateChildrenOfType<Span>())
{
if (string.IsNullOrEmpty(span.Text))
{
span.Text = " ";
}
}RichTextBox: Exception when loading a table with a specific layout in R2 2022
This works with R1 2022 SP1
No visual cue when image deleted or inserted when "Track changes" is activated.
When inserting an image with the Track Changes option toggled, the image should be underlined with red and it isn't. When deleting an image with Track Changes on, it is also not crossed with red. In both cases, the only mark that a change was made is the vertical line on the left.
The \sl (line spacing) RTF tag is supposed to be accompanied by a number indicating the value of the line spacing. According to the RTF specification: Space between lines. If this control word is missing or if \sl0 is used, the line spacing is automatically determined by the tallest character in the line. If N is a positive value, this size is used only if it is taller than the tallest character (otherwise, the tallest character is used); if N is a negative value, the absolute value of N is used, even if it is shorter than the tallest character. However, there are documents where the number is missing at all and MS Word interprets those as if the value is 0. RadRichTextBox visualizes these with lines of size close to zero which makes them invisible. Although this case is not mentioned in the specification, we can consider fixing it.