WP7使用回车键将文本从文本框发送到文本块

时间:2010-08-07 21:50:38

标签: c# silverlight listbox keyboard windows-phone-7

嘿伙计们,following tutorial显示了如何从文本框中获取文本,并在用户点击按钮时将其显示在文本块中。很简单......但我想做的不是点击一个按钮来添加我想要输入按钮的文本。

在这里搜索,我发现了以下代码,但它似乎没有做任何事情。

private void textBox_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.Key == Key.Enter)
        {
            listBox.Items.Add(textBox.Text);
        }
    }

因此,具有该字符串的文本框称为文本框,我希望将该文本框中的文本添加到我的列表(listBox)中。当我单击“输入”按钮时,它什么都不做。有什么帮助吗?

谢谢!

4 个答案:

答案 0 :(得分:6)

您可以从屏幕键盘上截取输入键,但不能从运行模拟器的PC的键盘上截取。

以下是一些证明其有效的代码:

创建新的电话应用程序。 将以下内容添加到内容网格

<ListBox Height="276" HorizontalAlignment="Left" Margin="14,84,0,0" Name="listBox1" VerticalAlignment="Top" Width="460" />

然后在后面的代码中添加以下内容:

private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
    if (e.Key == Key.Enter)
    {
        this.listBox1.Items.Add(textBox1.Text);
    }
}

答案 1 :(得分:1)

如果您还没有这样做,则需要将此事件处理程序连接到文本框KeyDown事件。您可以通过属性窗口中的“事件”选项卡执行此操作,同时定位文本框 - 或者您可以双击那里,VS将为您创建一个新的事件处理程序,您可以将上述代码放入其中。

答案 2 :(得分:0)

@Court从你给出的答案@Trees我可以假设你不确定KeyDown是否有线。您在XAML文件中是否有以下代码?

<TextBox Height="32" HorizontalAlignment="Left" Margin="13,-2,0,0" Name="textBox1" Text="" VerticalAlignment="Top" Width="433" KeyDown="textBox1_KeyDown" />

@Matt Lacey拦截从PC的键盘输入也可以

答案 3 :(得分:0)

看起来你需要处理KeyUp事件。