Если вы не хотите иметь возможность фокусировать его, я думаю, использование свойства
uiElement.IsHitTestVisible = false;
также не позволит вам отобразить контекстное меню.Это свойство зависимости, поэтому вы можете связать его со свойством Focusable.
Я думаю, что это предпочтительнее, чем простое нацеливание на ContextMenu, так как я предполагаю, что ваше функциональное требование состоит в том, чтобы ничего не делать с текстовым полемвсе.
В ответ на @Dr.Эндрю Бернетт-Томпсон: Я сделал следующий пример Xaml:
<TextBox Focusable="False">
<TextBox.Style>
<Style TargetType="TextBox">
<Style.Triggers>
<Trigger Property="Focusable" Value="False">
<Setter Property="IsHitTestVisible" Value="False"/>
</Trigger>
</Style.Triggers>
</Style>
</TextBox.Style>
</TextBox>