获取一个文本块来显示用户输入,同时保存以前的输入

本文关键字:输入 保存 用户 显示 一个 文本 获取 | 更新日期: 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}" />