Jem*_*tch 4 wpf configuration prism
我开发了一个 Microsoft Prism 4.0 应用程序,并且正在努力了解如何使用户应用程序设置功能可用于模块。
例如 Properties.Settings.Default.MyProperty。
我可以定义一个简单的类,通过引导加载程序(它确实有属性的句柄)填充并将其注入模块中,但如果我想保存属性的更改,我需要相信我需要属性的句柄。设置上下文不适用于我的模块(它们是简单的类库)。
您的场景听起来像是使用“服务”类的完美理由。创建一个名为 IUserSettingsService 和 UserSettingsService 的接口和类,其中包含信息(或者可以从存储位置加载和保存信息)。
阅读 Prism 4.0 帮助文件的第 3 章,管理组件之间的依赖关系,注册类型(Unity 或 MEF,具体取决于您用作 DI 容器的内容)。
然后,在需要用户设置的 ViewModel 中,找到并使用您的服务。在 MEF 中,它就像添加具有 [Import] 属性的 IUserSettingsService 类型的属性一样简单,或者使用 [ImportingConstructor] 并具有 IUserSettingsService 类型的参数。使用 Unity,您可以通过容器访问服务。请参阅 Prism 帮助文件第 10 章 - 高级 MVVM 场景。
在评论讨论后添加:因为您需要您的服务位于主应用程序的上下文中,所以您可以在那里实现您的服务类。在共享库中为您的服务创建可供主项目和模块使用的接口。最后,在引导加载程序类而不是模块中加载服务。