我正在为商业软件开发一个插件。它必须是一个类库。从这个类库中,我想显示一个支持导航的窗口。首先,这是我的引导程序(使用Ninject)。
class BootStrapper : NinjectBootstrapper
{
protected override DependencyObject CreateShell()
{
return Kernel.Get<MainWindow>();
}
protected override void InitializeShell()
{
Kernel.RegisterTypeForNavigation<AViewModel>();
Kernel.RegisterTypeForNavigation<BViewModel>();
}
}
要显示窗口,我正在使用ShowDialog()
。 Windows按预期显示AViewModel但导航(通过RequestNavigation
)无法正常工作。 虽然通过调试我发现BViewModel接收OnNavigatedTo
电话。但是,界面永远不会更新到第二个视图。
我的第一印象是使用ShowDialog()以某种方式阻止导航,但我注意到即使更改它Show()
也无法解决问题。
有没有办法解决这个问题?我对任何建议/其他框架持开放态度。
谢谢,