4

我正在为 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)。为芒果开发。

4

1 回答 1

2

事实证明,问题是由于TextBox在 a 内部引起的Button(因为我需要能够点击整个“东西”)。将其置于已Button解决的问题之外。

于 2012-07-26T08:14:40.387 回答