0

Service Locator パターンを使用して、MvvmLight を使用した Xamarin Forms アプリケーションを作成しています。ViewModelServiceLocator 自体は、すべての依存関係が登録された Autofac コンテナーにアクセスできる静的クラスです。VM ごとに静的プロパティがあります。

    public static AboutViewModel AboutVm => ServiceLocator.Current.GetInstance<AboutViewModel>();

リソースが次のように、アプリのようにロケーターをセットアップしています。

<presentation:ViewModelLocator x:Key="Locator" />

そして私のページの私のxamlで:

BindingContext="{Binding AboutVm, Source={StaticResource Locator}}"

しかし、Locator は決して呼び出されません。しかし、コードビハインドで設定すると機能します

BindingContext = ViewModelLocator.AccountListVm;

リソース定義などを見落としていませんか?

4

0 に答える 0