How can I get a WPF Window to expand to fit the contents of a dynamically changing ItemsControl?

Josh Smeaton picture Josh Smeaton · Jul 5, 2010 · Viewed 14k times · Source

I've got a WPF application which starts off with a very small window. Something in the area of 200x100. When certain events are raised from an external source, I add a control to the ItemsControl area of my window. The items control is currently set to use a StackPanel PanelTemplate.

What I want, is for the application window to grow when controls are added to the itemscontrol. Is this at all possible? The idea behind this is to keep the window as small as possible at all times. It should also shrink when controls are removed from the itemscontrol.

Thanks.

Answer

decyclone picture decyclone · Jul 5, 2010

Yes, it is possible. You can use Window.SizeToContent property to do that. And just set a MaxHeight and MaxWidth on Window or the ItemsControl inside just so it won't keep growing and getting out of screen bounds.