打开Window,它将ViewModel作为参数保存

时间:2015-07-15 07:17:03

标签: c# wpf mvvm window viewmodel

我需要使用FlowDocumentScrollViewer来显示报告。由于FlowDocument不是最容易使用的控件,我需要从View中的代码中的另一个ViewModel访问两个observablecollections。

当我点击菜单打开窗口时,我发送一条消息,打开窗口

case "ShotListReportView":
      var ShotListReportWindow = new ShotListReportView();
      ShotListReportWindow.Show();
      break;

新的ShotListReportView()给出了一个错误:不带0个参数。

那是因为在窗口的构造函数中我有一个ViewModel作为参数,我需要生成报告。

public ShotListReportView(ShotListViewModel ShotListViewModel)
{
    ShotList = ShotListViewModel.AllShots;
    SceneList = ShotListViewModel.SceneCollectionView;

    InitializeComponent();
}
public ListCollectionView SceneList { get; set; }
public ObservableCollection<Shot> ShotList { get; set; }

我不在此窗口中使用ViewModel的原因是我需要使用FlowDocument并在后面的代码中设置样式。

如何使用参数打开窗口,或者如何访问包含我需要的observablecollections的ViewModel?

0 个答案:

没有答案