OK, вот самое простое решение, если B-образ должен находиться в другом окне. Я предполагаю, что AViewModel является «оболочка» вид модели:
public class AViewModel // : Screen - that's optional right here ;)
{
private readonly BViewModel bViewModel;
private readonly IWindowManager windowManager;
public AViewModel(BViewModel bViewModel, IWindowManager windowManager)
{
this.bViewModel = bViewModel;
this.windowManager = windowManager;
}
public void ShowB()
{
windowManager.ShowWindow(bViewModel); //If you want a modal dialog, then use ShowDialog that returns a bool?
}
}
и простейшим просмотров (AView):
<Button Name="ShowB" Content="Show another window"/>
Он покажет новое окно с BView
при нажатии на кнопку на AView
.
Проводники используются, чтобы иметь несколько экранов в одном окне (или, другими словами, несколько панелей на одном экране). Иногда это OneActive
(например, при реализации навигации в WPF) или AllActive
, когда одновременно доступно несколько экранов.
Here's хороший учебник относительно некоторых оснований Caliburn.Micro и этой конкретной части описывает Window Manager.
Вы хотите запустить B-view в другом окне? Или у вас будет несколько экранов в одном окне? –
Я хотел бы запустить его в другом окне. Оба A и B должны отображаться в собственных окнах. – Kelly