从不同的线程中读取多个WPF文本框控件中的文本

时间:2010-04-20 15:55:53

标签: wpf multithreading wpf-controls

在我的WPF应用程序中,我需要从几个文本框中读取文本。因为代码在与UI不同的线程中运行,所以我需要使用Dispatcher.invoke()

目前我正在使用一个工作正常的文本框,但现在我需要所有文本。我是否需要为每个文本框编写Dispatcher.invoke或者是否有办法编写函数,以便传入文本框控件引用并返回文本?

1 个答案:

答案 0 :(得分:0)

您可以从同一个Invoke调用中的所有TextBox字段中获取文本。

public MainWindow()
{
    InitializeComponent();

    Thread thread = new Thread(new ThreadStart(this.ThreadFunc));
    thread.Start();
}

private delegate void InvokeDelegate();
private void ThreadFunc()
{
    Dispatcher.Invoke(new InvokeDelegate(() =>
    {
        Debug.WriteLine(this.textBox1.Text + this.textBox2.Text);
    }));
}

没有理由要进行多次通话。