WPF Prism 使用导航使用 ICollection 初始化选项卡

WPF Prism initializing tabs with ICollection using Navigation

我有一个选项卡视图模型,当您创建一个新选项卡时,它会生成一个新实例 Class B.

但是,程序有可能加载一个文件,该文件使用 JSON 获取 Class A 的实例,该实例具有 Class B 的集合。

如何使用 Class B 对象的现有集合实例化选项卡?最好还是使用 Navigation 而不是 View Injection/Discovery.

这是我添加新标签的代码

   public void AddTabCommandAction()
   {
    _regionManager.RequestNavigate(RegionNames.TabRegion, "ClassBView");
   }

还有我的 class B 视图模型。

   public ClassBViewModel(ClassB b){
     _b = b;
   }

我正在使用 UnityContainer 来解析 ClassB 的类型。

可能不是最好的解决方案,但我通过使用导航日志解决了这个问题。

选项卡视图模型中的导航到方法

 foreach (var item in list)
        {
            AddTabCommandAction(item);
        }

将项目作为导航参数传入

选项卡视图模型的 OnNavigatedTo 方法

   var classB= navigationContext.Parameters["ClassB"];
        if (classB!= null)
            _classB= (ClassB) classB;