コントローラーから ViewModel のコマンドを解決するにはどうすればよいですか?
現在、コンストラクターを介して UnityContainer を ViewModel に依存性注入し、ICommand を文字列で解決する必要があります。コンテナーをビューモデルに渡す必要はなく、コントローラーに保持することをお勧めします。
これらはほんの一部であり、すべてではありません。私が学ぼうとしている間は、まだそれほど複雑なクラスではありません.
ビューモデル
private ICommand loadedCommand;
public ICommand LoadedCommand
{
get { return loadedCommand; }
set
{
loadedCommand = value;
RaisePropertyChanged(() => this.LoadedCommand);
}
}
public MainViewModel(IUnityContainer container)
{
LoadedCommand = container.Resolve<ICommand>("LoadedCommand")
}
コントローラ
DelegateCommand LoadedCommand;
new DelegateCommand(() => ViewLoaded());
コントローラ
Container.RegisterInstance<ICommand>("LoadedCommand", LoadedCommand);
私がこれを正しい方法で行っているかどうかさえわかりません。Prism and Dependency Injection と mvvm (コントローラー付き) は比較的新しいもので、一度にすべてに飛び込んでいます。