web-dev-qa-db-fra.com

Réduire une fenêtre dans WPF?

Comment minimisez-vous une fenêtre par programme lorsque vous utilisez Windows WPF? Je peux trouver un attribut .Resize?

44
Erika

ensemble WindowState = WindowState.Minimized;

94
sean e

Vous recherchez le Window.WindowState propriété. Il s'agit d'une propriété de dépendance et lorsqu'elle est modifiée, la valeur Window.RestoreBounds , vous pouvez donc toujours restaurer la taille avant la modification.

Voir l'énumération ici .

myWindow.WindowState = WindowState.Minimized;
20
Oded
this.WindowState = WindowState.Minimized;
16
Amsakanna

Pour ceux qui ont eu le même problème: gardez à l'esprit que si ShowInTaskbar est défini sur false, alors WindowState.Minimized minimise la fenêtre dans une petite barre de titre de fenêtre en bas à gauche du bureau - donc elle n'est pas vraiment minimisée.

Une solution de contournement consiste à définir ShowInTaskbar sur true, définir WindowState sur Minimized, puis réinitialiser le ShowInTaskbar à son ancienne valeur.

13
Lumo

Utilisez l'objet de la fenêtre propriété WindowState pour minimiser par programmation une fenêtre.

window.WindowState = WindowState.Minimized;

La définition de l'état de la fenêtre sur WindowState.Normal restaurera la fenêtre à son précédent WindowsState, sa taille et son emplacement.

window.WindowState = WindowState.Normal;

Window.Normal est un peu inapproprié. Les remarques des articles MSDN propriété WindowState et énumération WindowState font allusion à la fonctionnalité réelle et aux tests de WindowState.Normal le confirment.

4
Adrian Toman
YourWindowName.WindowState = WindowState.Minimized;
2
Johnny

Comme beaucoup l'ont dit,

window.WindowState = WindowState.Minimized

minimisera la fenêtre pour vous. Mais faites attention au timing - j'ai accidentellement mis cela dans un gestionnaire MouseLeftButtonDown (vs MouseLeftButtonUp), et la fenêtre ne serait pas restaurée.

0
Tomas