Когда в WPF отображается модальное диалоговое окно и пользователь нажимает на родительское окно, модальное диалоговое окно мигает, мигает или встряхивается. - PullRequest
2 голосов
/ 01 августа 2011

Новая мысль, возможно я смотрю на это совершенно неправильно.Итак, вот именно то, что я пытаюсь сделать, если есть другая опция, о которой я не знаю.

У меня есть приложение WPF, в главном окне отображается диалоговое окно меньшего размера с использованием ShowDialog (), когда пользовательщелкает по родительскому окну, в котором показывалось диалоговое окно, мне нужно сделать диалоговое окно, прошить, встряхнуть или мигать.

AresAvatar разместил ссылку, которая выглядит так, как будто ее можно использовать, но есть ли еще один вариантне в курсе?

Мой исходный вопрос.

Событие щелчка мыши при щелчке по родительскому окну модального окна в приложении WPF?

У меня есть приложение wpf, которое показывает модальное окноusing ShowDialog ().

Я хотел бы запустить событие, когда пользователь пытается щелкнуть родительское окно, которое теперь отключено.

Возможно ли, чтобы родитель получил событие щелчка, когдаэто показало модальное окно?Когда я пытался сделать это, используя триггер взаимодействия, события никогда не запускались в родительском окне.

В противном случае, какие есть предложения / опции.

Спасибо

Ответы [ 2 ]

1 голос
/ 27 ноября 2018

Я знаю, что это старый вопрос, но я опубликую свое решение на тот случай, если кому-нибудь понадобится.

Установите dialog.owner до вызова ShowDialog ().

var dialog = new DialogWindow();
dialog.owner = MainWindow;
dialog.ShowDialog();

В результате щелчок по главному окну выводит диалоговое окно на передний план и заставляет диалоговое окно мигать.

1 голос
/ 01 августа 2011

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

Правка : эта ссылка кажется мертвой.Вот пример StackOverflow проверки сообщений окна .

...