问题标签 [prism-7]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
272 浏览

c# - PRISM 7 log4net 集成

在以前的 PRISM 版本中,可以创建自定义 Log4Net 适配器类(派生自ILoggerFacade)并覆盖CreateLogger抽象Prism.Bootstrapper类的受保护方法,如下所示:

在较新的 PRISM 7 版本中,该类的所有方法Bootstrapper都移至PrismApplicationBase该类。但是,CreateLogger再也找不到虚拟方法了。

问题:如何将 PRISM 7 配置为使用自定义 Log4Net 适配器?

0 投票
1 回答
157 浏览

c# - 在 prism 应用程序 (7.2) 中使用 Microsoft Dependency Injection 的 regionmanager 中没有区域

我正在将 Prism v7.2.0.1422 用于带有 .net Core 3.1 的 WPF 应用程序。我正在为 DI 使用 Microsoft 依赖注入。

我不想使用 Unity 容器。regionAdapterMappings 为空。视图发现和视图注入不起作用。我需要什么才能在 regionManager 中注册区域?

MyPrismApplication.cs

布尔值 requiresRebuild 销毁容器内的所有实例。

棱镜 v7.2.0.1422。.net Core 3.1 Prism.Container.Extensions v7.2.0.54。

0 投票
1 回答
126 浏览

wpf - 使用 Prism 7 的 WPF 应用程序:如何使用具有多个具体类的接口为 VM 注册和导航

我正在使用 Prism 7 创建 WPF 应用程序。在其中一个视图模型中,我试图注入一个名为 IActivityService 的接口。IActivityService 有多个具体类,但出于问题的目的,TestActivtyService 和ExerciseActivityService。以下是我让他们注册的方式:

ActivityManagementViewModel 有一个使用 IActivityService 的构造函数。

我无法导航到使用 ActivityManagementViewModel 的 ActivityManagement 视图。

问题

  1. 当我导航到 ActivityManagement 视图时,它总是使用最后一个注册的具体类作为 IActivityService 注入 ActivityManagementViewModel。为什么会这样?
  2. 如何在运行时使用选择的具体类导航到视图?

我之所以要这样做是因为视图 ​​UI 和要求对于界面的每个具体实现都是完全相同的。不同之处在于具体类使用的数据和数据存储库。对我来说,为每个具体实现重新创建相同的视图和视图模型以以相同的方式显示数据是没有意义的。当引入新的具体实现时,总是必须添加它们也不是一件好事。

如果我遗漏了什么或者有更好的方法来实现这一点,请教育我。