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: 156

Filed under:
|
|

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:

  1. 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.
  2. 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.
  3. 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.
  4. 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

Related posts about wpf

Related posts about control