1
我正在处理包含多个内容区域的应用程序。我想要实现一种行为,以响应用户输入,可以切换这些内容区域中的任何一个以适应整个应用程序窗口,并且可以选择再次回到其原始位置。我尝试了几种方法,但他们都不适合我。这里就是我试图做的:如何使一块WPF内容占用整个应用程序窗口
- 使用ClipToBoundsProperty上我想使“全屏”的内容:不工作,因为只有CanvasPanel似乎完全尊重这个属性。该应用程序需要进行本地化,所以我真的想避免CanvasPanel。
- 使用网格并折叠其他内容区域,使得只有我想看到的内容区域可见,因此占据了整个屏幕:这可能会起作用,但实施起来并不容易,但不易维护。 “全屏”内容区域可能有多个级别,例如驻留在Tabcontrol内,因此我必须隐藏标题标题等。
- 在单独的视图中重建内容区域,并在隐藏其他视图时显示它:看起来很容易处理DataTemplates和ViewModel对象,但是使用这种方法不保留任何GUI/View唯一状态。
- 以某种方式将图形界面/视图“提升”到独立视图并显示它,同时隐藏其余部分:我不知道如何做到这一点,或者即使这是可能的。
无论如何,如果有人知道更好的方法,我很想知道它。
非常感谢!
感谢您的回复你好。我当然可以使用Popup控件。但问题是用Popup控件填充什么。如果我简单地为其内容属性分配一些现有的内容,框架就会抱怨后者已经在逻辑树中,我应该先删除它。我没有任何手动修改逻辑树的经验,所以我甚至不确定这是否是一个好主意。如果我只是再次从我的数据模型对象实例化内容,那么我会遇到在原始内容上丢失任何GUI状态的问题。 – 2009-09-30 20:45:10