获取文本块以在保存先前输入的同时显示用户输入

时间:2014-08-09 04:25:35

标签: c# wpf

我试图让文本块充当用户输入的显示。 txtDisplay是显示数据的文本块。 txtInput是一个输入数据的文本框。

    public void OnKeyDownHandler(object sender, KeyEventArgs e)
    {
        if (e.Key == Key.Return)
        {
            txtDisplay.Text = txtInput.Text;
            txtInput.Text = "";

        }           
    }

这段代码用于捕获输入框中的用户输入,将其显示在显示框中并清除输入框以准备新命令。但是,一旦我在输入框中输入新信息并按下输入,它只会覆盖显示框中的内容。

也许我只是没有搜索正确的关键字,但我似乎无法找到有关该主题的任何帮助。如果有人有任何建议或参考,我们将不胜感激。

2 个答案:

答案 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}" />