2013-04-04 69 views
2

我正在用WPF中的Sasha Barber的MVVM的Cinch框架开发应用程序。此应用程序显示两个选项卡MainWindowViewModel启动了一个后台工作器,用于侦听传入的套接字连接。如果客户端通过套接字连接连接到应用程序,应用程序应该显示另一个选项卡。 我设置了一切,但是当我尝试将新的Worskspace添加到Views集合时,我收到一个错误,它只能在调度程序线程中完成,但MainWindowViewModel中没有调度程序。 所以这里是我的问题:我如何将这个工作区添加到视图集合?异步添加MVVM中的选项卡

问候和感谢 Knutman

回答

0

你可以用下面的实施你的虚拟机的基类添加属性。

public class ViewModelBase : .... 
{ 
    protected Dispatcher Dispatcher 
    { 
     get { return Application.Current.Dispatcher; } 
    } 
} 

现在你在虚拟机中有一个调度器。欲了解更多信息,请看看here。或者您只需在您需要的地方使用Application.Current.Dispatcher

+0

谢谢DHN,你让我的一天。 – 2013-04-05 11:01:29

+0

不客气。请注意,如果帖子回答你的问题,它应该被标记为一个。 ; O) – DHN 2013-04-05 19:02:22