0

My Prisam Application'Initializing modules' successFuly module view call by viewModulefill。しかし、lodingビューは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 に答える