Как захватить нажатие клавиш "@" и "#" - Событие Keyup Textbox Silverlight - PullRequest
1 голос
/ 06 марта 2012

Я написал ниже код для захвата "@" и "#" нажатыми или нет.И отлично работает на эмуляторе и Samsung Focus.Но при развертывании на Nokia Lumia 800 и нажатии «@» это не приведет к тому, что код Key.D2 и ниже не будет работать.

        if (e.Key == System.Windows.Input.Key.D2)
        {
            myAutocompleteBox.Text = "@";
            updateAutocompleteBox = true;
        }
        else if (e.Key == System.Windows.Input.Key.D3)
        {
            myAutocompleteBox.Text = "#";
            updateAutocompleteBox = true;
        }
        else if (e.Key == System.Windows.Input.Key.Back)
        {
            if (myAutocompleteBox.Text != String.Empty && updateAutocompleteBox == true)
            {
                string autoCompleteText = myAutocompleteBox.Text;
                myAutocompleteBox.Text = autoCompleteText.Substring(0, autoCompleteText.Length - 1);
            }
        }

Пожалуйста, укажите, как захватить нажатие клавиш «@» и «#»на моем текстовом поле.Заранее спасибо.

Ответы [ 2 ]

3 голосов
/ 21 ноября 2012

Я думаю, что значение D2 или D3 зависит от используемой раскладки клавиатуры. В макете EN-US SHIFT + 2 - это @, в DE-DE SHIFT + 2 - двойные кавычки, а D0 - D9 являются переменными в зависимости от используемого макета. В вашем коде вам, возможно, придется учесть это при переводе нажатой клавиши в значение String.

1 голос
/ 04 апреля 2012

Посмотрите на this .

У него есть все перечисления ключей для Windows Phone 7, выглядело, но не смог определить @ или #.

Какое значение возвращается для e.Key?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...