WPF Prism使用Navigation初始化带有ICollection的选项卡

时间:2017-03-30 10:15:51

标签: c# wpf prism

我有一个标签视图模型,它在您创建新标签时起作用,它会生成一个新的B类实例。

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

如何使用现有的B类对象集合实例化选项卡?最好仍然使用导航而不是View Injection / Discovery。

以下是我添加新标签的代码

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

我的B级视图模型。

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

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

1 个答案:

答案 0 :(得分:0)

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

导航到标签视图模型中的方法

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

将项目作为naviagaion参数传递

选项卡视图模型的OnNavigatedTo方法

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