我需要使用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?