Цель состоит в том, чтобы создать объект, который содержит несколько окон WPF, которые будут представлять единицу, которая должна всегда отображаться вместе, каждое из которых Window
сохраняет свои индивидуальные обязанности - скажем, выбрав расположение на экране X...
Теперь, поскольку WPF представляет собой архитектуру с одним окном, я бы хотел обернуть этот список Windows в один Window
объект , чтобы его можно было установить как StartupUriНапример,
- Я знаю, что мог бы вручную
Show()
каждый Window
при Application
запуске, но это не главное - мне нужна коллекция окон, которые слипаются и которые яможет легко вызывать в любом месте моей кодовой базы, зная, что у меня есть один класс, который позаботился о связи. - Здесь не интересует MDI с интерфейсом нескольких документов
Я не знаю, какчтобы реализовать такой адаптер, я попытался переопределить BeginInit
, но это вообще не вызывалось.
Как остановить инициализацию окна
public class MultiWindow : Window
{
private readonly IList<Window> _windows = new List<Window>();
public void Register(Window window)
{
_windows.Add(window);
}
public override void BeginInit()
{
foreach (var w in _windows)
w.Show();
// base.BeginInit();
}
}
Я не очень понимаю жизненный цикл Window
, можно ли как-нибудь отменить инициализацию и показать вместо этого список зарегистрированных окон?