如何使用 Prism 在 WPF 应用程序中(最好)在选项卡中实现范围服务?

问题描述 投票:0回答:1

我正在使用 Prism 框架创建 WPF 应用程序,并且遇到了依赖项注入范围的问题。我的应用程序包含 多个选项卡(至少现在有 2 个),每个选项卡都有 相同的视图和 ViewModels

就像每个选项卡都是选项卡本身内部的软件实例。

具体要求如下:

  • 每个选项卡都应该有自己的范围(或任何其他方式来实现相同的结果)。
  • 在选项卡中,我想在该选项卡中的多个 ViewModel 中注入同一个服务实例。
  • 服务的实例必须
  • 不同选项卡
注意:我想避免需要为每个选项卡分配唯一 ID 并通过像

username["tab_uuid_1"]

 这样的字典管理状态的解决方案。理想情况下,每个 ViewModel 都应该不知道它正在被选项卡限定范围或分隔。 
我对任何其他解决方案持开放态度,即使它不涉及使用 Prism 框架!


例如:

    选项卡 1 应该具有在其 ViewModel 之间共享的服务的唯一实例。
  • 选项卡 2 应该有相同服务的单独实例,并且也在其 ViewModel 之间共享。
我不确定如何将范围与特定选项卡关联。选项卡可以动态或静态创建(这并不重要!)。预先感谢您的帮助!

<3

c# wpf xaml dependency-injection prism
1个回答
0
投票
根据需要在解析根和主视图模型中注册范围内的服务,在范围中创建选项卡的视图模型。

我会将视图模型的创建放在服务中,以尽可能多地包含容器的使用。

© www.soinside.com 2019 - 2024. All rights reserved.