-1

I'm making a UC (UserControl) in WPF. I have some text boxes in the UC. I want to leave the UC when the user pressed "Return key" on one of them. I want return key to treating like Tab key in the main window. How can I implement it?

Shaho
  • 182
  • 2
  • 14

1 Answers1

0

I found this post in my searches and it was the answer to my problem.

The idea is to have a class named SendKeys* and use its method in key down event of the control.

public static class SendKeys
  {
    /// <summary>
    ///   Sends the specified key.
    /// </summary>
    /// <param name="key">The key.</param>
    public static void Send(Key key)
    {
      if (Keyboard.PrimaryDevice != null)
      {
        if (Keyboard.PrimaryDevice.ActiveSource != null)
        {
          var e1 = new KeyEventArgs(Keyboard.PrimaryDevice, Keyboard.PrimaryDevice.ActiveSource, 0, key) {RoutedEvent = Keyboard.KeyDownEvent};
          InputManager.Current.ProcessInput(e1);
        }
      }
    }
  }

Then use it like this:

private void textBoxesKeyDown(object sender, KeyEventArgs e) {
            switch (e.Key)
            {
                case Key.Return:
                    SendKeys.Send(Key.Tab);
                    break;
            }
 }

*Note: SendKeys is a class in WinForm that is not present in WPF. By the way you can implement using these codes.

Shaho
  • 182
  • 2
  • 14