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;
リソース定義などを見落としていませんか?