0

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

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

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

问题:

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

4

2 回答 2

1

Robbie,您可以从 Josh Smith 的 WPF MVVM 文章中借用工作区概念。您要做的是拥有一个托管窗口(您的包装器)并将工作区加载到此窗口中。您可以根据需要关闭工作区并加载一个新工作区,在主窗口中只保持一个打开状态。

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

于 2010-03-13T14:14:21.907 回答
0

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

于 2010-03-13T12:34:14.280 回答