1
我正在WPF上工作。 我的應用程序使用ICommands將方法綁定到按鈕。 我初始化這些命令如下:IComman/DelegateCommand在哪個線程上運行
AnswerCommand = new DelegateCommand(AnsCommandExecute, AnsCommandCanExecute);
我想知道,如果AnsCommandExecute()方法會在UI線程或後臺線程工作。 如果它在UI線程上工作,我必須爲此execute()方法創建另一個線程,因爲我的應用程序在後臺執行大量處理。
此外,我的應用程序使用TCP與另一個應用程序進行通信。所以,爲了獲得更好的性能我是否必須使用不同的線程來接收數據,處理和發送數據。 這種應用程序的最佳線程方法是什麼?
謝謝拉克什。 MSDN說:'任何不需要在UI線程上完成的工作應該移到其他線程上,以便在後臺處理。這是否意味着如果我的ObservableCollection未綁定/顯示在UI上,那麼我可以通過創建新線程來完成所有ObservableCollection相關處理? – deathrace
您的ObservableCollection將綁定源(視圖模型或模型的屬性)。所以它將成爲主線的一部分。您可以將TCP通信移至其他線程。一旦數據從其他線程獲取,使用Dispatcher在ObservableCollection中添加新檢索到的記錄。 – RockWorld