J'ai implémenté le service de navigation et le localisateur de modèle de vue. Je peux ouvrir ma page en utilisant OnNavigatedTo correctement. Mais quand la page s'initialise, elle ne passe par aucun des constructeurs déclarés.WP 8.1 Lumière MVVM ne peut pas instancier le constructeur
Ma mise en œuvre du localisateur
INavigationService navigationService = new NavigationService();
navigationService.Configure("About", typeof(AboutPage));
return navigationService;
ServiceLocator.SetLocatorProvider(() => SimpleIoc.Default);
INavigationService navigationService = CreateNavigationService();
SimpleIoc.Default.Register<INavigationService>(() => navigationService);
SimpleIoc.Default.Register<MainViewModel>();
Le constructeur sur ma page
public MainViewModel(INavigationService navigationService)
{
_navigationService = navigationService;
}
Tous les conseils?
Je me demande si une instance du modèle de vue est encore injecté dans la page elle-même? – Aphelion
Comment cela affecte-t-il le problème? – bgvsan
Le viewModel est une dépendance de la vue. Si la vue ne nécessite pas d'une certaine manière le viewModel (généralement une dépendance de constructeur), l'IoC n'instanciera jamais le viewModel lui-même. Je suppose que le constructeur du viewModel est le problème, comme cela est montré dans votre question. – Aphelion