Я обошел проблему woodyiii, добавив FrameworkElement.Tag (его значение IgnoreEnterKeyTraversal) к определенным элементам (кнопкам, спискам, или всем, что я хочу игнорировать при обходе ключа ввода) в моем XAML. Затем я искал этот тег и значение в прикрепленном свойстве. Вот так:
if (e.Key == Key.Enter)
{
if (ue.Tag != null && ue.Tag.ToString() == "IgnoreEnterKeyTraversal")
{
//ignore
}
else
{
e.Handled = true;
ue.MoveFocus(new TraversalRequest(FocusNavigationDirection.Next));
}
}