Я разрабатываю плагин для коммерческого программного обеспечения.Это должна быть библиотека классов.Из этой библиотеки классов я хотел бы показать окно, которое поддерживает навигацию.Сначала это мой загрузчик (использующий Ninject).
class BootStrapper : NinjectBootstrapper
{
protected override DependencyObject CreateShell()
{
return Kernel.Get<MainWindow>();
}
protected override void InitializeShell()
{
Kernel.RegisterTypeForNavigation<AViewModel>();
Kernel.RegisterTypeForNavigation<BViewModel>();
}
}
Чтобы показать окно, я использую ShowDialog()
.Окна отображаются с AViewModel, как и ожидалось, но навигация (через RequestNavigation
) не будет работать. Хотя с помощью отладки я обнаружил, что BViewModel получает OnNavigatedTo
вызов.Тем не менее, интерфейс никогда не обновляется до второго представления .
Мое первое впечатление, что ShowDialog () как-то блокирует навигацию, но я заметил, что даже изменение его Show()
не решит проблему.
Есть ли способ решить эту проблему?Я открыт для любых предложений / других рамок.
Спасибо,