获取一个文本块来显示用户输入,同时保存以前的输入
本文关键字:输入 保存 用户 显示 一个 文本 获取 | 更新日期: 2023-09-27 18:17:17
我试图得到一个文本块作为用户输入的显示。txtDisplay是将显示数据的文本块。txtInput是一个输入数据的文本框。
public void OnKeyDownHandler(object sender, KeyEventArgs e)
{
if (e.Key == Key.Return)
{
txtDisplay.Text = txtInput.Text;
txtInput.Text = "";
}
}
这段代码用于从输入框中捕获用户输入,将其显示在显示框中,并清除输入框,以便为新命令做好准备。但是,一旦我在输入框中输入新信息并按enter键,它就会覆盖显示框中的内容。
也许我只是没有搜索正确的关键词,但我似乎找不到任何关于这个主题的帮助。如果有人有任何建议或参考,我将不胜感激。
您没有保存最后输入的状态,而是添加文本:
txtDisplay.Text += txtInput.Text;
注意,您可能需要去掉'r'n
,因为它不需要,例如
txtDisplay.Text += Regex.Replace(txtInput.Text, @"(['r'n]+)", string.Empty);
我想你会发现将文本显示的内容绑定到文本框中要容易得多。
<TextBlock Text="{Binding ElementName=InputTextBox, Path=Text}" />