The second common threading method in WPF is BackgroundWorker.
Here is a simple example of BackgroundWorker.
Public partial class Mainwindow:window {//<summary>///Background worker///</summary> BackgroundWorker worker = new BackgroundWorker (); Public MainWindow () {InitializeComponent (); Worker. Workerreportsprogress = true; Worker. DoWork + = new Doworkeventhandler (worker_dowork); Worker. ProgressChanged + = worker_progresschanged; This.btn_test. Click + = Btn_test_click; }///<summary>///////</summary>//<param name= "Sender" ></param& Gt <param name= "E" ></param> void Btn_test_click (object sender, RoutedEventArgs e) { Worker. RunWorkerAsync (); }///<summary>//Progress return processing//</summary>//<param name= "Sender" ></para m>//<param name= "E" ></param> void Worker_progresschanged (object sender, ProgreSschangedeventargs e) {this.pb_test. Value = E.progresspercentage; }///<summary>//business logic processing///</summary>//<param name= "Sender" ></para m>//<param name= "E" ></param> void Worker_dowork (object sender, DoWorkEventArgs e) { for (int i = 0; I <=; i++) {worker. ReportProgress (i);//Return Progress Thread.Sleep (100); } } }
One of the BackgroundWorker properties to note is that workerreportsprogress indicates whether BackgroundWorker can return progress. Event DoWork handles its own business logic, progresschanged is responsible for updating the interface operations.
Project Escrow Address: https://wpfthread.codeplex.com/
WPF thread--backgroundworker