WPF: ¿Configurando el enfoque del teclado en un control de usuario? (Problemas con KeyBinding)

Tengo una aplicación que tiene una ventana principal que contiene un montón de cosas. De vez en cuando, el usuario hará algo en respuesta a lo que quiero mostrar algo más completamente en la ventana principal, ocultando temporalmente lo que está allí.

Estoy haciendo esto haciendo que el elemento más externo en la ventana principal sea una Cuadrícula sin filas o columnas definidas. Cada elemento de la cuadrícula llenará completamente una celda en la cuadrícula, dibujando sobre las demás.

Entonces, mi grupo habitual está en el primer elemento de la cuadrícula, y mi otra cosa temporal es un UserControl como el segundo elemento de la cuadrícula, que normalmente se establece Visibilidad = Contraído.

Excepto por el KeyBinding todo funciona bien. Cuando se activa el comando apropiado en el conjunto de elementos normal, la visibilidad en el UserControl se establece en Visible y cubre el conjunto normal de elementos por completo. Cuando el usuario hace clic en el botón de cerrar en UserControl, su visibilidad está configurada como Colapsada, nuevamente, desaparece y se revela el montón de cosas habitual.

Mi problema es con KeyBindings. Tengo algunos definidos en UserControl, que no deberían estar definidos en la ventana principal, y no funcionan. O más bien, funcionan bien una vez que hago clic dentro del UserControl, pero no funcionan hasta que lo hago.

Los necesito para trabajar tan pronto como el UserControl se haga visible, sin requerir que el usuario haga clic o haga clic en el UserControl apropiado.

Supongo que esto tiene algo que ver con el enfoque del teclado, pero no he podido encontrar una manera de establecer el enfoque en el UserControl. Aquí está la cosa: el único elemento dentro del UserControl es un control de pestaña, todas las pestañas se construyen dinámicamente a través de plantillas. No hay elementos conocidos en tiempo de compilación a los que pueda hacer referencia explícitamente y pasar a KeyBoard.Focus ().

Entonces, ¿tengo razón al pensar que es la falta de enfoque lo que está causando el problema? Y si es así, ¿cómo puedo enfocar un elemento en un TabControl, cuando ni siquiera sé cuántas pestañas hay, y mucho menos cuál es la seleccionada?

Respuestas a la pregunta(1)

Su respuesta a la pregunta