none
Creando un teclado RRS feed

  • Pregunta

  • He creado un control de usuario con varios botones (teclas) en el interior, todas ellas asignadas al mismo evento click. Dentro de dicho evento se ejecuta el siguiente código:

    private void Button_Click(object sender, RoutedEventArgs e)

    {

        Button button = (Button )e.Source;

       

        string caracter = button.Content.ToString();

        var textEvent = new TextCompositionEventArgs (Keyboard .PrimaryDevice, new TextComposition (InputManager .Current, Keyboard .FocusedElement, caracter))

        {

            RoutedEvent = TextInputEvent

        };

     

        InputManager .Current.ProcessInput(textEvent);

    }

     

    Luego en un form, añado el control de usuario y un textbox.

    Al iniciar la aplicación primero hago click sobre el textbox o asigno el método focus(), para finalmente pulsar una tecla cualquiera. El tema es que no escribe en el textbox el valor de la tecla ni nada. Tampoco aparece en el Keyboard.FocusedElement el textbox (como último elemento con el foco) sino el botón del teclado.

     

    ¿Alguien sabe a que se puede deber?.

     

    Gracias.

    lunes, 15 de noviembre de 2010 0:31

Respuestas

  • El problema se debía a que tenía activada la propiedad "Focusable" en los botones del teclado.

     

    Gracias a todos.

    • Marcado como respuesta Spaikers martes, 16 de noviembre de 2010 13:59
    martes, 16 de noviembre de 2010 13:58