我正在为 Windows Phone 7 开发应用程序,但标准文本框遇到了一个非常奇怪的问题:我无法键入“空格”。所有其他键都可以正常工作,但“空格”键会被忽略,不会弹出任何错误。
我动态填充文本框。这是负责此操作的代码:
var newComment = new TextBox()
{
Width = 378,
MaxLength = 128,
AcceptsReturn = true,
/*Tag = ... ,*/
/*Style = ... ,*/
/*BorderBrush = ... ,*/
Margin = new Thickness(-12, 0, 0, 0)
};
newComment.InputScope = new InputScope();
newComment.InputScope.Names.Add(new InputScopeName() { NameValue = InputScopeNameValue.Text });
newComment.KeyDown += (sender, args) =>
{
if (args.Key == System.Windows.Input.Key.Enter)
{
args.Handled = true;
/* ... */
}
};
container.Items.Add(newComment);
我注释掉了一些(我认为)无关的东西。“容器”是 ListBox 的一个实例。
当我在“KeyDown”事件处理程序中放置一个断点并按“Space”时,它args.Key
是“Unknown”(args.PlatformKeyCode
是“160”)。我在我的应用程序的其他地方有文本框(虽然不是动态的),它们工作得很好。
在模拟器和设备上进行了测试(如果这有什么不同,我有 HTC Mozart)。为芒果开发。