上下文: 我正在开发一个WPF应用程序将包含了很多不同的“屏幕”的。每个屏幕都包含在这反过来又包含了所有的视觉元素。一些元素触发事件(例如,复选框),屏幕上有单独的资源,等等。

的主要应用是“包装”围绕这些屏幕:它包含一个菜单,工具栏,状态栏和相似(在一个DockPanel中)和空间来显示一个屏幕。通过工具列表中,用户可以选择他想要显示的屏幕。

目标:的 我想动态加载和显示及(事件)处理一个画面中在主应用程序的空间。我不希望在所有不同的屏幕复制和粘贴所有的“包装”的东西。当我有很多复杂的屏幕(约300 - 幸运的是自动生成的),我不希望加载所有的人都在应用程序的开始,但仅应要求

问题:

你有什么建议,以实现这一点?结果的最佳方式 我应该使用什么样的事情,并调查:在屏幕页面或窗口或用户控制?这是否会影响事件处理?

有帮助吗?

解决方案

罗比,你可以借由约什 - 史密斯的WPF MVVM文章的工作空间的概念。你会做什么是有一个托管窗口(您的包装)和工作区加载到该窗口。您可以关闭工作区,并加载一个新的需要,只保留一个开放在你的主窗口。

链接: http://msdn.microsoft.com/en-us/magazine/dd419663。 ASPX

其他提示

可以使用一个帧包含不同页面。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top