2017-07-22 26 views
0

我在我的應用程序中由於一個對象的多個線程而崩潰的錯誤。因爲我是C#中的新成員,並且已經在學習它。我與調用沒有太大familar等WPF調用和MethodInvoker

這是這是我崩潰的原因代碼:

private void AppendText(string text) 
{ 
    this.Invoke(new MethodInvoker(delegate 
    { 
     this.richTextBox.AppendText(text + Environment.NewLine); 
    })); 
} 

UpdateProcess.OutputDataReceived += (s, e) => richTextBox.AppendText(e.Data); 

但WPF不知道這(我從來沒有在WPF與調用之前的工作所以我不知道如何把它寫在WPF也許ü可以鏈接我到一個網站)

回答

2

在WPF有Dispatcher類,它可以讓你從非UI線程更新UI:

private void AppendText(string text) 
{   
    Dispatcher.BeginInvoke(() => 
    { 
     this.richTextBox.AppendText(text + Environment.NewLine); 
    }); 
} 
+0

啊好的。它現在放棄了更少的代碼 – xKushGene