Próbuję dostosować mój projekt WP8 z własnej implementacji MVVM do MVVM Light.Światło MVVM Jest już zarejestrowana fabryka dla INavigationService
Aplikacja kompiluje bez błędów, ale kiedy otwieram MainPage.xaml w Expression Blend, będę się ten błąd:
Klasa project.Services.INavigationService jest już zarejestrowany. App.xaml
Moi ViewModelLocator.cs:
/// <summary>
/// Initializes a new instance of the ViewModelLocator class.
/// </summary>
public ViewModelLocator()
{
ServiceLocator.SetLocatorProvider(() => SimpleIoc.Default);
if (ViewModelBase.IsInDesignModeStatic)
{
}
else
{
if (!SimpleIoc.Default.IsRegistered<INavigationService>())
{
SimpleIoc.Default.Register<INavigationService>(() => new NavigationService());
}
}
SimpleIoc.Default.Register<MainPage>();
SimpleIoc.Default.Register<SettingsEditViewModel>();
}
Jak widać z mojego kodu komentarzu, ja już próbowałem naprawić rzekomą tutaj, ale ja wciąż otrzymuję ten błąd w mieszance. Nie ma innego miejsca, w którym mógłbym zarejestrować usługę INavigationService, więc jaki mógł być problem?
Wszelkie pomysły? :)
Druga nie działa dla mnie, ale trzecia zrobiła – Rivenfall
Skończyło się na tym, że mój ViewModelLocator wyglądał tak: http://i.imgur.com/2Ex0rzy.png Po prostu wychodzi z inicjalizacji, na wypadek gdyby VS projektant myśli, że jest to dobry pomysł, aby skonstruować go ponownie w czasie projektowania. Dzięki za wskazówkę! –