2

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

问候并感谢克努特曼

4

1 回答 1

0

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

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

现在您的 VM 中有一个调度程序。欲了解更多信息,请查看此处。或者您只需Application.Current.Dispatcher在需要的地方使用。

于 2013-04-04T11:43:00.680 回答