Изначально я установил весь элемент управления как отсутствие табуляции, а внутренний - с табуляцией, но, очевидно, вам также нужно настроить навигацию по вкладкам, чтобы продолжить. Я не сделал, когда я пытался играть с навигацией, поэтому я пропустил этот параметр.
<Style x:Key="Special" TargetType="{x:Type TextBox}">
<Setter Property="KeyboardNavigation.TabNavigation" Value="Continue"/>
<Setter Property="IsTabStop" Value="False"/>
<Setter Property="Template">
<ControlTemplate>
...
<Text IsTabStop="True" Name="PART_Control" ...
...
</ControlTemplate>
</Setter>
</Style>
Однако этот маленький трюк не работает для Shift-Tab из редактируемого комбинированного списка. Я уточню ответ, если выясню.
Для комбинированных списков вы должны сделать это по-другому. Вы не устанавливаете TabNavigation на «Продолжить» и не устанавливаете IsTabStop для внутреннего выпадающего списка в «true».
См
<Style x:Key="Special" TargetType="{x:Type ComboBox}">
<Setter Property="IsTabStop" Value="False"/>
<Setter Property="Template">
<ControlTemplate>
...
<ComboBox Name="PART_Control" ...
...
</ControlTemplate>
</Setter>
</Style>