How to make a piece of WPF content take up the entire application window
Posted
by Bojin Li
on Stack Overflow
See other posts from Stack Overflow
or by Bojin Li
Published on 2009-09-30T18:43:06Z
Indexed on
2010/06/02
4:03 UTC
Read the original article
Hit count: 153
I'm working on an application that contains a number of content areas. I want to implement a behavior such that in response to user input, any of these content areas can be toggled to fit the entire application window, and optionally back to its original position again. I experimented with several approaches and none of them seem optimal for me. Here's what I tried to do:
- Use the ClipToBoundsProperty on the content I want to make "Full Screen": Doesn't work because only the CanvasPanel seems to fully respect this property. The application need to be localized so I would really like to avoid the CanvasPanel.
- Use a Grid and collapse the other content areas, such that only the one I want to see is visible, hence taking up the entire screen: This will probably work but doesn't seem easy to implement nor maintain. The "Full Screen" content area could be several levels deep, for example residing inside a Tabcontrol, so I would have to hide the tab headers too etc.
- Reconstruct the content area in a separate view and display it while hiding the rest: Seems easy enough to do with DataTemplates and my ViewModel objects, but any GUI/View only states are not preserved using this approach.
- Somehow "lift" the GUI/View I want to "Full Screen" into the separate view and display it while hiding the rest: I don't know how to do this or even if this is possible.
Anyway if anyone knows a better approach I would love to know about it.
Thanks a lot!
© Stack Overflow or respective owner