c# wpf textbox outlook

c# - WPF TextBox no acepta la tecla Eliminar



textbox multiline c# (1)

Encontré una manera de evitar esto. Extendí WndProc de Outlook y escuché el WM_COMMAND. Cuando surgió, le digo a mi sistema WPF UserControl que envíe la tecla de retroceso al control actualmente enfocado con el teclado.

Parece que no puedo hacer que WM_COMMAND dispare con ninguna otra tecla además de retroceso, por lo que está funcionando bastante bien en este momento.

Tengo una aplicación WPF incrustada en una ventana de Microsoft Outlook 2003. Todo funciona bien, excepto que ninguno de mis controles TextBox acepta la tecla de retroceso. Investigué un poco, y el problema existe solo cuando mi ventana es hija de la ventana de perspectivas y no si se trata de otra ventana (la inyecté en firefox y funciona bien, y si pongo mi wpf UserControl en una ventana de diálogo también funciona). Este parece ser el problema inverso que las personas están reportando (textbox solo acepta borrar / teclas de flecha / etc), y este hilo fue algo informativo (aunque no solucionó mi problema): WPF TextBox no aceptaba Entrada cuando estaba en ElementHost en Window Forms

Aquí está mi configuración: creo un UserControl de WPF, que luego pongo en ElementHost. Puse ese host en un Windows Forms UserControl, que se pone en otro Formms UserControl, que se pone en un NativeWindow (he intentado eliminar parte del envoltorio UserControl, pero sin ningún efecto). Esta ventana nativa se convierte en un elemento secundario de la ventana de Outlook y se coloca donde necesito que esté en Outlook.

¿Alguien tiene alguna idea? Tal vez necesito manejar los mensajes de Windows de manera diferente? Hice algunas investigaciones y descubrí que Outlook recibe un mensaje WM_COMMAND cuando presiono la tecla de retroceso, pero no cuando no toco nada más. Tal vez está interpretando la tecla de retroceso como un acelerador de menú o algo así?

Gracias.