Wpf 不带棱镜的复合应用程序

Wpf 不带棱镜的复合应用程序,wpf,mvvm,user-controls,prism,Wpf,Mvvm,User Controls,Prism,我有一个相对较大的应用程序。在我回顾了UI设计师提供的UI设计之后,我注意到每个视图都分为3个部分:顶部、中部和底部 顶部始终显示当前日期和时间。它也有两个文本块,其中一个总是显示,第二个取决于用户在视图中间部分所做的。 中间部分是主要内容部分,从一个角度到另一个角度,这一部分变化很大 实际上,底部是一个导航面板。变化不大。它由几个按钮组成 嗯,当我开始思考时,我意识到我不想创建很多窗口(视图),特别是因为提供的设计中的一个中间部分有一个TabControl,它在所有选项卡中都有非常相似的内容

我有一个相对较大的应用程序。在我回顾了UI设计师提供的UI设计之后,我注意到每个视图都分为3个部分:顶部、中部和底部

顶部始终显示当前日期和时间。它也有两个文本块,其中一个总是显示,第二个取决于用户在视图中间部分所做的。

中间部分是主要内容部分,从一个角度到另一个角度,这一部分变化很大

实际上,底部是一个导航面板。变化不大。它由几个按钮组成

嗯,当我开始思考时,我意识到我不想创建很多窗口(视图),特别是因为提供的设计中的一个中间部分有一个TabControl,它在所有选项卡中都有非常相似的内容

因此,如果我理解正确,我只需要创建一个视图(实际上我需要创建更多的视图,但这并不重要)和许多用户控件。视图(它的ViewModel)应该将中间部分和底部部分的内容更改(注入)为不同的用户控件。据我所知,这是复合应用程序的概念


我说得对吗?如何完成这样的任务?我可以避免使用PRISM吗?

PRISM是一种很好的选择,因为它有区域控制器,可以提供您所需的一切。但是,如果您希望避免这种情况,请创建三个ContentControl,它们将用作顶部、中部和底部区域。让他们可以通过一些“控制器”访问,比如

因此,将允许您拥有一个负责区域的域,并且您可以在运行时注入视图

MyController.AddContentToTopRegion(UserControl uc)