2010-04-20 51 views
0

在我的WPF應用程序中,我需要從幾個文本框中讀取文本。因爲代碼運行在與UI不同的線程中,所以我需要使用Dispatcher.invoke。目前,我正在使用一個文本框,它工作正常,但現在我需要所有的文本,是否需要爲每個文本框編寫Dispatcher.invoke,或者是否有方法編寫函數,以便傳入文本框控件參考並返回文本?從不同線程的多個WPF文本框控件讀取文本

回答

0

您可以從同一個Invoke調用中的所有TextBox字段中獲取文本。

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

沒有理由不得不進行多個呼叫。