繁体   English   中英

如何使用棱镜WPF MVMVM在模块中绑定DataViewModel?

[英]how to bind dataviewmodel in module using prism wpf mvvm?

我的Prisam应用程序“正在初始化模块”成功通过视图模块填充调用模块视图。 但是俯视图没有设置detacontex视图模块。要添加模块,我可以使用以下代码:

protected override void ConfigureModuleCatalog()
        {
            base.ConfigureModuleCatalog();
            ModuleCatalog moduleCatalog = (ModuleCatalog)this.ModuleCatalog;
            moduleCatalog.AddModule(typeof(ModuleR1Customer.ViewModule.CustomerViewModules));
            moduleCatalog.AddModule(typeof(ModuleR2Order.ViewModule.OrderViewModules));
        }

如何解决这个问题? 请帮我。

这就是您所需要的。 -创建一个通用接口IViewModel IView和一个用于该视图的特殊接口( ITiersView )。 通过实现对View的特殊接口,后面的视图代码如下所示:

     public interface IViewModel
{
}

public interface IView
{
    IViewModel ViewModel
    {
        get;
        set;
    }
}

public interface ITiersView : IView
{
}

    //My View
    public partial class Tiers : UserControl , ITiersView
    {
        public Tiers(ITiersViewModel tiersViewModel)
        {
            InitializeComponent();
            ViewModel = tiersViewModel;
        }

        public SmartStock.Infrastructure.IViewModel ViewModel
        {
            get
            {
                return (ITiersViewModel)DataContext;
            }
            set
            {
                DataContext = value;
            }
        }
    }

要进行此加载,您需要在modulinit类中使用Unity容器 ,如下所示:

        _container.RegisterType<ITiersView, Tiers>();
        _container.RegisterType<ITiersViewModel, TiersViewModel>();
        IRegion Content = _regionManager.Regions[RegionNames.ContentRegion];
        var TiersView = _container.Resolve<ITiersView>();
        RibbonRegion.Add(TiersView);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM