C # / WPF, как заставить окно заголовка окна (созданного с помощью Window.ShowDialog ()) мигать при нажатии на родительское окно (как это делает MessageBox)? - PullRequest
5 голосов
/ 26 октября 2010

Я пытаюсь создать собственный MessageBox с помощью окна WPF, которое вызывается с ShowDialog().

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

Как вы знаете, когда вы используете MessageBox.Show("text");, вы не можете установить фокус или щелкнуть родительское окно (то, которое называется MessageBox). Если вы попытаетесь щелкнуть родительское окно, MessageBox кратковременно мигнет, чтобы предупредить вас о том, что вы должны закрыть, если сначала.

Windows, созданная с помощью Window.ShowDialog();, однако, не показывает такое поведение. Фактически, хотя вы не можете установить фокус на родительское окно, дочерний элемент (вызываемый с помощью ShowDialog()) никогда не будет мигать кратко.

У меня вопрос: есть ли способ реализовать это в WPF? Я искал ответ, но должен признаться, я в тупике.

Спасибо всем!

Ответы [ 2 ]

11 голосов
/ 26 октября 2010

Вам необходимо правильно установить Owner модального окна, например, используя следующий код из окна-владельца:

Window win = new SomeModalWindow();
win.Owner = this;
win.ShowDialog();
3 голосов
/ 26 октября 2010

Вы должны установить свойство Owner дочернего элемента Window для родительского Window.См. Документацию MSDN здесь .

...