0

我的 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));
        }

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

4

1 回答 1

0

这就是你所需要的。- 创建IViewModel IView该视图的通用接口和特殊接口 ( ITiersView)。通过实现你的特殊接口到你的视图视图代码后面应该如下所示:

     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);
于 2012-07-26T09:29:13.453 回答