You can try more generic approach, which handles this specific behaviour on all TextBoxes.
Simply put this code into App.xaml.cs code behind:
private void Application_Startup(object sender, StartupEventArgs e)
{
EventManager.RegisterClassHandler(typeof(TextBox), TextBox.PreviewKeyDownEvent, new RoutedEventHandler(TextBox_PreviewKeyDown));
}
private static void TextBox_PreviewKeyDown(object sender, RoutedEventArgs e)
{
if ((e as KeyEventArgs).Key == Key.Enter)
{
if ((e.Source as TextBox).AcceptsReturn)
return;
var focusedElem = Keyboard.FocusedElement as UIElement;
if (focusedElem != null)
{
focusedElem.MoveFocus(new TraversalRequest(FocusNavigationDirection.Next));
var comboBox = Keyboard.FocusedElement as ComboBox;
if (comboBox != null)
comboBox.IsDropDownOpen = true;
}
e.Handled = true;
}
}
Also my example contains code for auto opening combo box drop down.