我试图让文本块充当用户输入的显示。 txtDisplay是显示数据的文本块。 txtInput是一个输入数据的文本框。
public void OnKeyDownHandler(object sender, KeyEventArgs e)
{
if (e.Key == Key.Return)
{
txtDisplay.Text = txtInput.Text;
txtInput.Text = "";
}
}
这段代码用于捕获输入框中的用户输入,将其显示在显示框中并清除输入框以准备新命令。但是,一旦我在输入框中输入新信息并按下输入,它只会覆盖显示框中的内容。
也许我只是没有搜索正确的关键字,但我似乎无法找到有关该主题的任何帮助。如果有人有任何建议或参考,我们将不胜感激。
答案 0 :(得分:0)
您没有保存最后一个输入的状态,而是添加文本:
txtDisplay.Text += txtInput.Text;
请注意,您可能需要删除\r\n
,因为不需要,例如
txtDisplay.Text += Regex.Replace(txtInput.Text, @"([\r\n]+)", string.Empty);
答案 1 :(得分:0)
我认为您会发现将文本显示内容绑定到文本框要容易得多。
<TextBlock Text="{Binding ElementName=InputTextBox, Path=Text}" />