Unityを試していますが、XAMLでビューモデルを宣言する際に問題が発生します。あなたは私を助けることができます?XAML:
<UserControl.DataContext>
<search:SearchBoxViewModel />
</UserControl.DataContext>
コンストラクタ:
[ImportingConstructor]
public SearchBoxViewModel(IRegionManager regionManager, IEventAggregator eventAggregator)
{
this.regionManager = regionManager;
this.eventAggregator = eventAggregator;
}
実行しようとすると、resolutionfailedexceptionが発生します。これは、ビューモデルに空のコンストラクターがある場合に機能しました。コンストラクターの挿入に問題があるようです。
次のようにモジュールをロードすると、次のようになります。
var searchView = Container.Resolve<SearchBoxView>();
searchView.DataContext = Container.Resolve<SearchBoxViewModel>();
//RegionManager.RegisterViewWithRegion(RegionNames.SearchRegion, typeof(SearchBoxView));
RegionManager.Regions[RegionNames.SearchRegion].Add(searchView);
できます。
xamlでこれを行う可能性はありますか(私は個人的にはより良いと思います)?
ちなみに、私は主にWebサービスと通信するwpfを使用してアプリケーションを作成しています。どちらかと言えば、UnityまたはMEFのどちらを使用する必要がありますか?また、この2つの大きな違いは何ですか?
ありがとう、ラフィ