在视图模型上使用棱镜IEventAggregator时如何使用依赖项注入

问题描述 投票:0回答:1

我在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中不起作用,因为应该传递多个参数。我该如何解决这个问题?

c# wpf prism
1个回答
0
投票

在这种情况下,如何将参数传递给viewmodel?

你不能。 (*)

这样做的棱镜方式是实现INavigationAware并将数据传递到导航参数中。

-

(*)如果要使用Prism的导航,那就是。您始终可以使用所需的任何构造函数参数(可能是通过工厂)在代码中创建视图模型,然后将其公开为属性并将数据模板绑定到该视图模型。从xaml开始并不需要need,实际上,先查看模型非常可行。

© www.soinside.com 2019 - 2024. All rights reserved.