查看返回系统对象



在Prism 5中,Unity,在MVVM应用中,并带有以下导航请求,我将获得System.Object而不是视图。

 RegionManager.RequestNavigate(RegionNames.MainMenuRegion,
 new Uri("../../AdminModule/Views/MainMenuView", UriKind.Relative))

导航请求位于登录模块中,目标视图位于Bootstrapper中"按需"加载的另一个模块中。AdminModule的初始化类仅包含一个简单的初始化()。Mainmenuview和MainmenuviewModel是基本的。我已经测试了它们,他们工作了O.K.T

我在这一点上试图使它变得简单,并让导航请求创建主体武器并执行任何必要的注册,以便我知道该视图的实例是针对的。

我在loginviewModel中添加了以下代码,最终我在我的MainmenureGion的视图列表中获得了两个实例。.mainmenuview。adminModule.views.mainmenuview构造函数唯一一次称为container.resolve语句。

container.RegisterType<MainMenuView, MainMenuView>("MainMenuView"); 
   view = container.Resolve<MainMenuView>();
   RegionManager.Regions[(RegionNames.MainMenuRegion)].Add(view, "MainMenuView");

知道我在做什么错吗?谢谢。

听起来您的视图未注册。所有视图均在字符串密钥上注册为类型对象。如果找不到密钥,Unity将仅返回一个新对象。因此,在您的模块(IMODULE实现)中,请确保您正在使用容器注册视图。

,例如

container.RegisterType<Object, MainMenuView>("MainMenuView");

相关内容

  • 没有找到相关文章

最新更新