This example illustrates how to move keyboard focus between RichEditControl and adjacent controls when the TAB or SHIFT+TAB key combinations are pressed. This allows you to overcome the following limitation: Need the AcceptTab property.
The main idea is to set the KeyboardNavigation.TabNavigation property for a RichEditControl to Once to avoid visiting its child elements and process tab navigation keys manually.