欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

多线程WPF 如何在子线程里传值并更新界面UI

程序员文章站 2022-06-10 20:33:49
...

项目里有
MainWindow.xaml
AClass.cs 两个文件。
其中MainWindow里有一个TextBox 一个Button
其中AClass.cs下有一个Method()方法。

public class AClass
{
    public void Method()
    {
        string str; //要把这个值传到主界面并在TextBox上显示
    }
}
// MainWindow.xaml.cs 里的BUTTON事件
private void Button_Click_1(object sender, RoutedEventArgs e)
{
    AClass a = new AClass();
    Thread aTh = new Thread(new ThreadStart(a.Method));
    aTh.Start();
}

如何把 Method 里的 str 传到 MainWindow.xaml 并且在 TextBox 里显示?
采用 Dispatcher.BeginInvoke的方法更新主线程界面

Dispatcher.BeginInvoke(new Action(()=> {mTextBox.Text = str;}));
相关标签: 教程