2010-10-26 13 views
5

J'essaie de créer un MessageBox personnalisé en utilisant une fenêtre WPF appelée avec ShowDialog(). Jusqu'à présent, j'ai réussi à tout mettre en œuvre, sauf pour une chose.C#/WPF, comment faire une fenêtre (créée avec Window.ShowDialog()) barre de titre clignote lorsque vous cliquez sur sa fenêtre parente (comme le fait MessageBox)?

Comme vous le savez, lorsque vous utilisez MessageBox.Show("text"); vous ne pouvez pas définir le focus ou cliquez sur la fenêtre parente (celle qui a appelé le MessageBox). Si vous essayez de cliquer sur la fenêtre parente, le MessageBox clignotera brièvement afin de vous avertir que vous devez fermer si d'abord.

Les fenêtres créées avec Window.ShowDialog();, cependant, ne montrent pas ce comportement. En fait, bien que vous ne puissiez pas définir le focus sur la fenêtre parente, l'enfant (appelé avec ShowDialog()) ne clignotera jamais brièvement.

Ma question est, est-il possible de l'implémenter dans WPF? J'ai cherché une réponse mais je dois admettre, je suis perplexe.

Merci à tous!

Répondre

11

Vous devez définir correctement la fenêtre modale Owner, par ex. en utilisant le code suivant à partir de la fenêtre posséder:

Window win = new SomeModalWindow(); 
win.Owner = this; 
win.ShowDialog(); 
+1

Si simple ... Eh bien, maintenant je me sens stupide! Merci beaucoup! –

3

vous devez régler Owner propriété de l'enfant au parent WindowWindow. Voir la documentation MSDN here.