我正在为Windows Phone 7开发一个应用程序,我遇到了标准TextBox的一个奇怪问题:我无法输入“Space”。所有其他键工作正常,但“空格”键被忽略,没有错误弹出。
我动态填充文本框。这是负责此事的代码:
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)。为芒果开发。
答案 0 :(得分:2)
事实证明问题是由于TextBox
位于Button
内导致的(因为我需要能够点击整个"事情")。将其置于Button
之外解决问题。