我在下面写了代码,用于捕获“@”和“#”是否按下。并且在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);
}
}
请指导我如何在文本框中按下“@”和“#”键。在此先感谢。
答案 0 :(得分:3)
我认为D2或D3的值取决于使用的键盘布局。在EN-US布局中,SHIFT + 2是DE-DE SHIFT + 2中的@是双引号,D0-D9是基于所使用的布局而变化的。在您的代码中,您可能必须在将按下的键转换为字符串值时将其考虑在内。
答案 1 :(得分:1)