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