Форма закрыть всплывающее окно в любом месте клика - PullRequest
2 голосов
/ 02 мая 2011

Я новичок в WPF C # и ищу какое-то направление.У меня есть текстовое поле с сообщением об ошибке, я хочу, чтобы пользователь мог щелкнуть в любом месте формы, чтобы закрыть это окно.Я не совсем уверен, какие поисковые термины использовать или с чего начать.Любая помощь или умные комментарии, такие как, "вы слышали о Google" приветствуются:)

как, если щелкнуть мышью скрыть ();

Спасибо, rd42

Мойокончательное решение:

private void Button_Click(object sender, RoutedEventArgs e)
{
    this.Hide();
}

Ответы [ 4 ]

5 голосов
/ 02 мая 2011

Вот простое решение с использованием окна Popup.

<Popup Name="errMsg" StaysOpen="False">
  <TextBox/>
</Popup>

Из вашего кода, просто сделайте это, когда пришло время отобразить всплывающее окно.

errMsg.IsOpen = true;

Нажатие в любом месте за пределами всплывающего окна даст желаемый эффект. Если вы используете традиционное окно, просто подпишитесь на его событие LostFocus или Deactivate и закройте его там (при условии, что оно не отображается в виде диалога). Честно говоря, Popup - самое простое и лучшее решение для подобных случаев.

2 голосов
/ 02 мая 2011

Подписаться на событие MouseUp экземпляра Window.

1 голос
/ 24 мая 2011

Нашли на другом форуме:

Используйте Window.Deactivate событие & внутри реализации события, закройте окно ... вот и все ...:)

1 голос
/ 02 мая 2011

Событие MouseUp в форме должно быть тем, которое вы ищете

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