Чтобы лучше понять контекст, вот мой код:
Как видите, переменная _window сохраняется.
Код: Выделить всё
public App(IServiceProvider ServiceProvider, ILogger logger)
{
_logger = logger;
_shell = ServiceProvider.GetService() ?? throw new Exception();
InitializeComponent();
}
protected override Window CreateWindow(IActivationState? activationState)
{
if (_window != null)
{
_logger.WriteLog("CreateWindow: Window is not null");
return _window;
}
else
{
_logger.WriteLog("New Window");
_window = new(_shell);
}
return _window;
}
Затем я создал новое приложение с той же логикой, что и выше. Но новое приложение не ведет себя так, как только я закрываю его, а затем снова открываю. Он всегда пытается создать новое окно.
Что мне не хватает? Как сохранить старый экземпляр класса App после закрытия приложения?
Подробнее здесь: https://stackoverflow.com/questions/798 ... dow-in-mau
Мобильная версия