【问题标题】:WPF Prism Updating ViewModelWPF Prism 更新 ViewModel
【发布时间】:2010-07-26 14:01:23
【问题描述】:

我是 Prism WPF 世界的新手,有一个简单的问题。

我已经在模块初始化方法中注册了我的视图和视图模型,如下所示

        var navigatorView = new NavigationMenu.View.NavigationBarView();
        navigatorView.DataContext = m_Container.Resolve<NavigationMenuViewModel>();
        var regionManager = m_Container.Resolve<IRegionManager>();            
        regionManager.Regions[RegionNames.NavigationMenuRegion].Add(navigatorView);

现在,如果我想修改我的 ViewModel,那么我能够做到这一点的唯一方法是仅通过 ViewModel 类,是否有任何其他方法可以更新在统一容器中注册的 viewmodel 对象。 另外我想知道如何获取在统一容器中注册的对象实例。

感谢和问候, 哈利

【问题讨论】:

  • 你能解释一下“修改我的 ViewModel”是什么意思吗?你能举一个具体的例子来说明你想要完成的事情吗?这有点模糊。

标签: wpf mvvm prism


【解决方案1】:

您的任何 VM 或模块都应该具有 Initialize-Method,它通过参数获取那些容器、regionmanager 和 eventtaggregator 对象。首先(就像你的引导程序)你把它们放在那些容器中。为此,您可以使用 RegisterType 之类的方法。然后您可以使用 Resolve 方法获取这些对象,就像您在代码示例中所做的那样。

这意味着,无论您想在何处操作特定虚拟机,都可以使用 Resolve 来获取该虚拟机。我可能没有正确理解你的问题。因此,请进一步解释一下,或者更具体地说明您遇到问题的地方。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-04-08
    • 2018-12-29
    • 2023-04-03
    • 2017-11-21
    • 2013-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多