0

我正在通过 , 实例化一个,这有一个Viewas参数。但是,这还有其他三个参数,其中两个已经在 Unity 上配置,最后一个参数我需要从打开. (疯了,嗯?)UnityViewViewModelViewModelMainViewSecondView

单击按钮时,从我的 MainView(第一个视图)调用此方法:

private void ShowAddVersionViewExecute()
{
    Window view = UnityServiceConfigurator.Instance.GetUnityContainer().Resolve<AddVersionView>() as Window;
    view.ShowDialog();
}

这是我的 AddVersionView(第二个视图),它的 ViewModel 作为参数。

public partial class AddVersionView
{
    public AddVersionView(AddVersionViewModel viewModel)
    {
        //InicializeComponents and set the viewModel to DataContext.
    }
}

这是 AddVersionViewModel 的构造函数

public AddVersionViewModel(IDialogService dialog, AbstractRepository repository, string versionNumber)
{
    //Some code here.
}

IDialogServiceAbstractRepository解决Unity我想"versionNumber"从 MainView 接收。

  1. 我该怎么做/我应该怎么做?
  2. 有没有其他方法可以做到这一点?

非常感谢。

4

1 回答 1

2

You can use parameter overrides to supply parameters at resolve time. There are several examples available at http://msdn.microsoft.com/en-us/library/ff660920(v=pandp.20).aspx.

于 2012-12-05T19:06:06.910 回答