代码之家  ›  专栏  ›  技术社区  ›  Retrocoder

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

  •  0
  • Retrocoder  · 技术社区  · 14 年前

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

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

    1 回复  |  直到 6 年前
        1
  •  0
  •   RandomEngy    14 年前

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

    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);
        }));
    }
    

    你没有理由打多个电话。