如何捕获“@”和“#”键 - Silverlight Textbox Keyup事件

时间:2012-03-06 09:29:34

标签: silverlight-4.0 windows-phone-7.1

我在下面写了代码,用于捕获“@”和“#”是否按下。并且在Emulator和Samsung Focus上完美运行。但是当部署到诺基亚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 个答案:

答案 0 :(得分:3)

我认为D2或D3的值取决于使用的键盘布局。在EN-US布局中,SHIFT + 2是DE-DE SHIFT + 2中的@是双引号,D0-D9是基于所使用的布局而变化的。在您的代码中,您可能必须在将按下的键转换为字符串值时将其考虑在内。

答案 1 :(得分:1)

查看this

它拥有Windows Phone 7的所有Key Enumeration,看了看但无法发现@#

e.Key会返回什么值?