Cómo crear un objeto KeyEventArgs en WPF (relacionado con una respuesta SO)

He encontrado esta respuesta que se parece a lo que necesito:

¿Cómo puedo generar eventos de pulsación de tecla programáticamente en C #?

Excepto por el hecho de que no puedo crear una instancia deKeyEventArgs (No se como)

El código en cuestión es:

 var key = Key.Insert;                    // Key to send
  var target = Keyboard.FocusedElement;    // Target element
  var routedEvent = Keyboard.KeyDownEvent; // Event to send

  target.RaiseEvent(
    new KeyEventArgs(
      Keyboard.PrimaryDevice,
      PresentationSource.FromVisual(target), //<--- HERE, I can't
      0,
      key)
    { RoutedEvent=routedEvent }
  );

El compilador dice:

The best overloaded method match for
'System.Windows.PresentationSource.FromDependencyObject(System.Windows.DependencyObject)'
 has some invalid arguments

El ide dice:

Tipo de argumentoIInputElement no es asignable al tipo de parámetroDependencyObject

Y a través de StackOverflow, he encontrado varias respuestas dirigidas a esa respuesta, pero ninguna de ellas aborda cómo crear la instancia en primer lugar.

¿Cómo puedo hacer eso?

Respuestas a la pregunta(5)

Su respuesta a la pregunta