65

How do you minimize a window programmatically when using Windows WPF? I can't seem to find a .Resize attribute.

8 Answers 8

133

set WindowState = WindowState.Minimized;

Sign up to request clarification or add additional context in comments.

Comments

26

You are looking for the Window.WindowState property. It is a dependancy property and when changed will set the Window.RestoreBounds property , so you can always restore to the size before the change.

See the enumeration here.

myWindow.WindowState = WindowState.Minimized;

Comments

23
this.WindowState = WindowState.Minimized;

Comments

22

For those who had the same problem: keep in mind that if ShowInTaskbar is set to false, then WindowState.Minimized minimizes the Window into a small window title bar at the bottom left of the desktop - so it's not really minimized.

A workaround is to set ShowInTaskbar to true, set WindowState to Minimized and then reset the ShowInTaskbar to its old value.

1 Comment

This helped a lot! It is actually even better to switch the ShowInTaskbar from true to false whenever the WindowState changes to WindowState.Minimized. That way, when the user clicks the minimize button of the window it will also vanish completely and when the window is shown it appears in the taskbar which is probably what users expect.
5

Use the window's object WindowState property to programmaticly minimise a window.

window.WindowState = WindowState.Minimized;

Setting window state to WindowState.Normal will restore the window to it's previous WindowsState, size and location.

window.WindowState = WindowState.Normal;

Window.Normal is a bit of a misnomer. The remarks in the WindowState property and the WindowState Enumeration MSDN articles hint at WindowState.Normal actual functionality and testing confirms it.

Comments

5

This works just fine for me.

Application.Current.Windows[0].WindowState = WindowState.Minimized;

Comments

2
YourWindowName.WindowState = WindowState.Minimized;

Comments

0

As many said,

window.WindowState = WindowState.Minimized

will minimize the window for you. But be careful about timing - I accidentally set this in a MouseLeftButtonDown handler (vs MouseLeftButtonUp), and the window would not restore.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.