【发布时间】:2016-06-09 13:24:21
【问题描述】:
在 wpf/mvvm/prism 应用程序中,当我从一个视图导航到另一个视图时遇到问题。
我在 AViewModel 中的导航功能准备/请求中放置了一个断点:
private void Model(object sender)
{
if (sender == null) return;
var file = ((RawImage)sender).FullName;
var navParams = new NavigationParameters { { "filein", file } };
var uri = new Uri(typeof(BView).Name + navParams, UriKind.Relative);
_regionManager.RequestNavigate(RegionNames.TabRegion, uri, nr =>
{
var error = nr.Error;
var result = nr.Result;
}); //breakpoint here
}
ne.Error: 无法创建导航目标“BView”
在模块中,我已经注册了类型:
protected override void RegisterTypes()
{
Container.RegisterTypeForNavigation<AView>();
Container.RegisterType<IAViewModel, AViewModel>();
Container.RegisterTypeForNavigation<BView>();
Container.RegisterType<IBViewModel, BViewModel>();
Container.RegisterTypeForNavigation<CView>();
Container.RegisterType<ICViewModel, CViewModel>();
}
当我要求导航到 CView 时,它可以工作,但 BView 不能。 每个视图在自己的文件夹中都有自己的界面和视图模型。
可能是什么问题? 干杯
【问题讨论】:
标签: c# wpf mvvm containers prism