【问题标题】:Adding tabs in MVVM asynchroniously在 MVVM 中异步添加选项卡
【发布时间】:2013-04-04 11:20:45
【问题描述】:

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

问候和感谢 克努特曼

【问题讨论】:

    标签: wpf mvvm cinch


    【解决方案1】:

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

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

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

    【讨论】:

    • 感谢 DHN,你让我开心。
    • 不客气。请注意,如果帖子回答了您的问题,则应将其标记为一个。 ;o)
    猜你喜欢
    • 1970-01-01
    • 2012-04-16
    • 2011-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多