直接上代码。
/// <summary>
/// MainWindow.xaml 的交互逻辑
/// </summary>
public partial class MainWindow : Window
{
SynchronizationContext _uiContext = SynchronizationContext.Current;
public MainWindow()
{
InitializeComponent();
}
private void Button_Click(object sender, RoutedEventArgs e)
{
ThreadPool.QueueUserWorkItem(new WaitCallback(this.Start));
}
public void Start(object stat)
{
//工作线程
for (int i = 0; i < 10; i++)
{
Thread.Sleep(1000);
this._uiContext.Post(this.UpdateUI, "line:" + i.ToString());
}
}
public void UpdateUI(object stat)
{
//UI线程
this.lst.Items.Add(stat.ToString());
}
}