在MVVM中异步添加选项卡

时间:2013-04-04 11:20:45

标签: wpf mvvm cinch

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

迎接并感谢 Knutman

1 个答案:

答案 0 :(得分:0)

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

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

现在您的VM中有一个调度程序。有关详细信息,请查看here。或者您只需在需要它的地方使用Application.Current.Dispatcher