假设我要创建一个类似于Windows资源管理器的应用程序。我需要像这样的一些模块(组件)
- MyApp.Modules.NavPane
- MyApp.Modules.Ribbon
- MyApp.Modules.StatusBar
- MyApp.Modules.Body
然后我的入口点还有另外两个模块和一个外壳
- MyApp.Core
- MyApp.Shell
所以现在我的问题是:布局我的应用程序的正确方法是什么?我是否在ShellView中设计了所有内容并只是硬引用了我的模块?
通过硬引用,我的意思是我设置了对模块程序集的实际引用,构造函数注入了我需要的ViewModel(NavPaneViewModel
,RibbonViewModel
,...),并使用{ {1}} s
这里有一些伪代码
ContentControl
和我的ShellView
public class ShellViewModel
{
public Screen NavPane { get; }
public ShellViewModel(NavPaneViewModel navPane, ...)
{
NavPane = navPane;
// ...
}
}