Tengo una ventana WPF con una cuadrícula de datos. Estoy tratando de capturar, desde un escáner de Symbol, una cadena que se envía a través de una cuña virtual. Para la aplicación, parece que los caracteres fueron escritos. Esta cadena comienza con ASCII 1 (SOH).Evento DataGrid PreviewTextInput eliminación de caracteres de control de la entrada
Cuando la ventana tiene el foco PreviewTextInput de la ventana recibe el SOH, junto con todos los demás valores legibles legibles y no humanos humanos. Sin embargo, cuando la cuadrícula de datos tiene foco, los caracteres legibles no humanos se eliminan.
Si tengo un PreviewKeyDown o PreviewKeyUp en la ventana, entonces los caracteres aparecen correctamente sin importar el foco. Entonces, en algún punto del camino, la cuadrícula de datos lo elimina. Desafortunadamente, debido a que KeyDown/KeyUp no muestran los caracteres ASCII, no puedo usar estos eventos sin tener que escribir algún tipo de algoritmo de análisis.
¿Puede alguien decirme lo que puedo hacer para conseguir esos caracteres de control legibles no humanos que se enviarán siempre a la PreviewTextInput? ¿O cómo analizar todos los caracteres en PreviewKeyDown?
Editado:
Cuando la ventana tiene el foco:
Window PreviewKeyDown - LeftCtrl
Window PreviewKeyDown - A
Window PreviewTextInput - <SOH>
Window PreviewKeyDown - Oem6
Window PreviewTextInput - ]
Window PreviewKeyDown - LeftShift
Window PreviewKeyDown - C
Window PreviewTextInput - C
Cuando la cuadrícula de datos tiene el foco:
Window PreviewKeyDown - LeftCtrl
DataGrid PreviewKeyDown - LeftCtrl
Window PreviewKeyDown - A
DataGrid PreviewKeyDown - A
Window PreviewKeyDown - Oem6
DataGrid PreviewKeyDown - Oem6
Window PreviewTextInput - ]
Window PreviewKeyDown - LeftShift
DataGrid PreviewKeyDown - LeftShift
Window PreviewKeyDown - C
DataGrid PreviewKeyDown - C
Window PreviewTextInput - C
Cualquier pensamiento sobre mi respuesta? ¿Ayuda? – Alan