У меня есть UserControl
в Window
. В течение срока службы приложения, что Window
иногда закрывается, и когда пользователю это нужно снова, создается новый экземпляр.
В какой-то момент UserControl
должен отобразить диалоговое окно и передать родительский элемент управления этому диалоговому окну в качестве владельца. Вот подвох: в первый раз Window
создается
и элемент управления должен показать диалог, все работает просто отлично. Он вызывает Window.GetWindow(this)
и передает результат в диалог. Однако, когда Window
закрывается, а затем создается новый экземпляр и UserControl
открывает диалоговое окно, я получаю следующее исключение:
Невозможно установить для свойства «Владелец» закрытое окно.
Всякий раз, когда создается Window
, этот код называется:
var window = new ControllerConfigurationWindow() { Owner = this };
Так что это явно новый экземпляр, и, конечно же, при отображении диалогового окна окно открыто ... Я его нигде не закрываю ...
Так что мне интересно - и это не имеет смысла в моей голове, когда я говорю это - но может ли быть так, что Window.GetWindow(this)
как-то дает мне родителя старого экземпляра?