我一直在学习 Composite Applicaation Library,遇到了一个问题:是否可以使用 CAL 构建多页面应用程序?
我见过的所有示例都使用定义了区域的单个页面。
可以使用多个 shell 之类的东西吗?- 如果是这样,是否违反 CAL 方法?
此外,是否可以使用 CAL 构建多页应用程序,还是仅使用单页应用程序?
此外,它还可以使用多个 shell 或多个 Bootstrappers 来显示正确的执行方式,我们对此表示赞赏。
谢谢
我一直在学习 Composite Applicaation Library,遇到了一个问题:是否可以使用 CAL 构建多页面应用程序?
我见过的所有示例都使用定义了区域的单个页面。
可以使用多个 shell 之类的东西吗?- 如果是这样,是否违反 CAL 方法?
此外,是否可以使用 CAL 构建多页应用程序,还是仅使用单页应用程序?
此外,它还可以使用多个 shell 或多个 Bootstrappers 来显示正确的执行方式,我们对此表示赞赏。
谢谢
Prism 可用于多页应用。
Prism 开发人员指南描述了一种方法。还提供了快速入门以帮助开发人员。
但是,我发现这种方式实施起来很繁重。当遇到 Prism 的多页问题时,我通常更喜欢更简单的解决方案:
最后,我在每个区域的模块初始化时注入将填充它的视图,这要归功于RegisterViewWithRegion。要做的一件重要的事情是这个。
<UserControl>
<UserControl.Resources>
<DataTemplate DataType="{x:Type my:ViewModel}">
...
</DataTemplate>
</UserControl.Resources>
<ContentControl Content="{Binding }" />
</UserControl>
像这样,如果 DataContext 为空,您的视图将不会出现,因此导航。为了调用导航方法,您可以使用开发人员指南中描述的全局可用命令。这允许您将导航按钮命令直接绑定到来自任何模块的导航命令。