WPF - не удается закрыть окно, если щелкнуть за пределами - PullRequest
0 голосов
/ 26 сентября 2018

У меня есть окно, которое я открываю с ShowDialog().Окно откроется в центре моего предыдущего окна.Чтобы закрыть это окно с фоновым щелчком мыши, я нашел решение:

protected override void OnDeactivated(EventArgs e)
{
   base.OnDeactivated(e);
   Close();
}

Решение работает только (посмотрите на скобку внизу), если я нажимаю за пределами любого из моих окон.Но если я нажимаю на свое Окно (правая скобка), я получаю только этот звук, и ничего не происходит (OnDeactivation не работает).

Есть идеи?Example

1 Ответ

0 голосов
/ 26 сентября 2018

Поскольку ShowDialog не позволяет вам активировать родительское окно диалога, следовательно, никакие изменения активации не производятся, и, следовательно, не происходит.

Вы можете использовать Show, как в немодальном виде, чтобы показать диалоговую форму.в случае, если вы не «ждете» вызывающего кода для завершения диалога с некоторым результатом.

Если вы это сделаете, есть обходные пути, например, решение для обратного вызова, или как закрытьдиалоговое окно WPF, когда пользователь щелкает вне его ссылку, на которую указал @BWA.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...