This behavior is caused by a specificity of the Bookmark annotation. The position before it is special (non-navigable, due to the value of the SkipPositionBefore
property) - meaning that in the case when paragraph starts with Bookmark, you cannot put the caret in the beginning of the paragraph - as the caret will always move after the Bookmark.
On the other hand, the behavior when pressing Tab key is different in the different contexts, and when the caret is not at the beginning of the paragraph, Tab character ("\t") is inserted instead of changing the left indent. I will log the issue in our backlog, but it will be with low priority as it is more of a small usability problem. You can track the issue here:
Pressing Tab key when the caret is at the beginning of a Paragraph which starts with Bookmark do not change the indent
You have some possible workarounds:
the "Tab" key directly to IncrementParagraphLeftIndent command. This way you will lose the before-mentioned logic from TabForward command for inserting Tab character, moving to next table cell, etc.; and pressing Tab will always change the left indent.
- Use RadRichTextBox.CommandExecuting
event, and in this specific case cancel the insertion of the tab character and execute the IncrementParagraphLeftIndent:
sender, Telerik.Windows.Documents.RichTextBoxCommands.CommandExecutingEventArgs e)
InsertTextCommand && e.CommandParameter ==
var currentParagraph = position.GetCurrentParagraphBox().AssociatedParagraph;
DocumentPosition testPosition =
((canMoveToPrevious = testPosition.MoveToPrevious()) && testPosition.GetCurrentInline()
!canMoveToPrevious || testPosition.GetCurrentParagraphBox().AssociatedParagraph != currentParagraph;
I hope this was helpful.
Check out the Telerik Platform - the only platform that combines a rich set of UI tools with powerful cloud services to develop web, hybrid and native mobile apps.