0

Viewを介してインスタンス化していますがUnity、これViewにはViewModelas パラメータがあります。ただし、これViewModelには他に 3 つのパラメーターがあり、そのうちの 2 つは Unity で既に構成されていMainViewますSecondView。(クレイジー、え?)

このメソッドは、ボタンがクリックされたときに MainView (最初のビュー) から呼び出されます。

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

これは私の AddVersionView (2 番目のビュー) で、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.
}

IDialogServiceとはAbstractRepositoryによって解決されUnityます。しかし、私はMainViewから受け取りたいです"versionNumber"

  1. どのように/何をすればよいですか?
  2. それを実行する他の方法はありますか?

どうもありがとう。

4

1 に答える 1

2

パラメーターのオーバーライドを使用して、解決時にパラメーターを指定できます。http://msdn.microsoft.com/en-us/library/ff660920(v=pandp.20).aspxにいくつかの例があります。

于 2012-12-05T19:06:06.910 に答える