正常處理多線程時,Presenter接收事件並調用View來更新相應的控件。更新演示者對多線程事件,MVP,Winforms的看法
主持人:
private void EventAggregator_InfoUpdated(object sender, InfoUpdatedEventArgs e)
{
view.UpdateFeedInfo(e.FeedInfo);
}
查看:
public void UpdateFeedInfo(FeedInfo feedInfo)
{
if (!control.IsHandleCreated && !control.IsDisposed) return;
control.BeginInvoke((MethodInvoker) (() => control.Update(feedInfo)));
}
我的問題是如何調用視圖之前調用在GUI線程演示一個方法調用。喜歡的東西:
private void EventAggregator_InfoUpdated(object sender, InfoUpdatedEventArgs e)
{
//InvokeInUiThread// ManageInfoInput(e.FeedInfo);
}
private void ManageInfoInput(FeedInfo feedInfo)
{
...
view.UpdateFeedInfo(e.FeedInfo);
}
我會說,而不是'BeginInvoke'只是調用'Invoke'這是一個同步調用。它回答你的問題嗎? –
Presenter接收來自多個線程的呼叫。我想在演示者中管理這些輸入。稍後再調用視圖更新。演示者在UI線程中運行。 –