Wpf 在MVVM中异步添加选项卡

Wpf 在MVVM中异步添加选项卡,wpf,mvvm,cinch,Wpf,Mvvm,Cinch,我正在用Sasha Barber的Cinch框架为WPF中的MVVM开发一个应用程序。此应用程序显示两个选项卡。MainWindowViewModel启动了一个后台工作程序,用于侦听传入的套接字连接。如果客户端通过套接字连接连接到应用程序,应用程序应显示另一个选项卡。 我把一切都设置得很好,但是当我尝试将新的Worskspace添加到Views集合时,我收到一个错误,即这只能在dispatcher线程中完成,但MainWindowViewModel中没有dispatcher。 因此,我的问题是:

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

问候和感谢
Knutman

您可以向VM基类添加具有以下实现的属性

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

现在,您的虚拟机中有了一个调度程序。有关更多信息,请查看。或者您只需在需要它的地方使用
Application.Current.Dispatcher

谢谢DHN,您让我开心了。不客气。请注意,如果一篇文章回答了你的问题,它应该被标记为一篇;o)