2014-03-03 3 views
-2

У меня есть окно WPF, которое все еще присутствует в Application.Current.Windows, даже когда оно закрыто. Я попытался закрыть его, используя кнопку закрытия окна и this.Close(), однако, когда я повторяю элементы в Application.Current.Windows, он по-прежнему присутствует. В чем может быть проблема? Нет потоков, если это помогает. Видимость окна - Collapsed, а IsActive - false. Благодарю.Окно WPF остается открытым даже после закрытия

ответ

4

Ссылка Окно должно быть удалено, as per MSDN:

Окно ссылка автоматически добавляется в Windows, как только окно инстанциируется на пользовательском интерфейсе (UI) резьбы; окна, которые создаются рабочими потоками, не добавляются. Ссылка на окно автоматически удаляется после того, как было обработано событие закрытия, и перед его закрытым событием.

Таким образом, я задал вопрос, как вы закрываете его и где вы проверяете его ссылку. Я бы предположил, что вы, вероятно, это делаете/проверяете неправильно. Если бы вы могли показать нам какую-то реальную логику, возможно, было бы более ясно.

+0

Ссылка на MSDN? Я бы рассмотрел ссылку гниль. –

+3

За исключением того, что я несу _ соответствующую часть _ в моем ответе_. Серьезно, это жалко, Рой. Очень ребяческий - и [в ответ на это] (http://stackoverflow.com/a/22145619/263681), чтобы каждый мог видеть вас. –

+0

@GrantThomas Извините за поздний ответ. Как я уже говорил, я закрываю его, используя кнопку закрытия окна. У меня также есть кнопка на странице, по щелчку которой я закрываю окно, вызывая Close(). Я до сих пор не понял, в чем проблема. Странно, что все свойства окна равны нулю, кроме одного, сверление на котором приводит к объекту Dispatch. Теперь я просто просматриваю все окна в Application.Current.Windows, и если заголовок и имя пустые, я закрываю его снова, вызывая Close(). На данный момент это проблема исправлена. – Fahad

Смежные вопросы