【发布时间】:2010-06-02 12:00:05
【问题描述】:
我正在开发一个包含多个内容区域的应用程序。我想实现一种行为,以便响应用户输入,可以切换这些内容区域中的任何一个以适应整个应用程序窗口,并且可以选择再次返回其原始位置。我尝试了几种方法,但没有一种方法对我来说是最佳的。这是我尝试做的:
- 在我想要制作“全屏”的内容上使用 ClipToBoundsProperty:不起作用,因为只有 CanvasPanel 似乎完全尊重此属性。应用程序需要本地化,所以我真的很想避免使用 CanvasPanel。
- 使用网格并折叠其他内容区域,这样只有我想看到的内容区域可见,因此占据了整个屏幕:这可能会起作用,但似乎不容易实现或维护。 “全屏”内容区域可能有几个层次,例如位于 Tabcontrol 内,所以我也必须隐藏选项卡标题等。
- 在单独的视图中重建内容区域并在隐藏其余部分的同时显示它:使用 DataTemplates 和我的 ViewModel 对象似乎很容易,但使用此方法不会保留任何仅 GUI/视图的状态。
- 以某种方式将我想要“全屏”显示的 GUI/视图“提升”到单独的视图中,并在隐藏其余部分的同时显示它:我不知道如何执行此操作,或者即使这是可能的。
无论如何,如果有人知道更好的方法,我很想知道。
非常感谢!
【问题讨论】:
标签: wpf controls fullscreen