我在WPF应用程序上使用Prism,并且我有Viewmodel构造函数,如
...
public TestViewModel(bool bottomPanel, IEventAggregator ea)
{
__ea = ea;
IsBottomPanelVisible = bottomPanel;
OnLoad();
}
...
在这种情况下,如何将参数传递给viewmodel?我想使用类似的东西:
Datacontext=new Viewmodels.TestViewModel(true, ...);
但我不知道IEventAggregator应该是什么。在这种情况下
prism:ViewModelLocator.AutoWireViewModel="True"
在xaml中不起作用,因为应该传递多个参数。我该如何解决这个问题?
在这种情况下,如何将参数传递给viewmodel?
你不能。 (*)
这样做的棱镜方式是实现INavigationAware
并将数据传递到导航参数中。
-
(*)如果要使用Prism的导航,那就是。您始终可以使用所需的任何构造函数参数(可能是通过工厂)在代码中创建视图模型,然后将其公开为属性并将数据模板绑定到该视图模型。从xaml开始并不需要need,实际上,先查看模型非常可行。