创建WPF包装器应用程序按需显示屏幕的最佳实践

时间:2010-03-13 12:29:37

标签: wpf composition

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

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

目标:的 我想动态加载&显示器和显示器(事件)在主应用程序的空间中处理一个屏幕。我不想复制&将所有“包装”内容粘贴到所有不同的屏幕中。由于我有许多复杂的屏幕(大约300个 - 幸运的是自动生成),我不想在应用程序开始时加载所有这些屏幕,但只能根据要求加载。

问题:

您认为什么是实现这一目标的最佳方式? 我应该使用和调查什么样的东西:屏幕的页面或窗口或用户控件?这会影响事件处理吗?

2 个答案:

答案 0 :(得分:1)

罗比,你可以借用Josh Smith的WPF MVVM文章中的工作空间概念。你要做的是有一个托管窗口(你的包装器)并将工作区加载到这个窗口。您可以根据需要关闭工作区并加载新工作区,只在主窗口中打开一个工作区。

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

答案 1 :(得分:0)

您可以使用框架来包含各种页面。