Sto provando ad adattare il mio progetto WP8 dall'implementazione MVVM fatta da sé a MVVM Light.MVVM-light Esiste già una fabbrica registrata per INavigationService
L'applicazione compila senza errori, ma quando apro il mio MainPage.xaml in Expression Blend, io ottenere questo errore:
Classe project.Services.INavigationService è già registrato. App.xaml
miei 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>();
}
Come si può vedere dal mio commento codice, ho già provato la correzione presunto qui, ma sto ancora ricevendo questo errore in Blend. Non c'è altro posto dove poter registrare l'INavigationService, quindi quale potrebbe essere il problema?
Qualche idea? :)
2 ° non ha funzionato per me, ma il 3 ° ha fatto – Rivenfall
Ho finito per rendere il mio ViewModelLocator simile a questo: http://i.imgur.com/2Ex0rzy.png Esce semplicemente dall'inizializzazione, nel caso in cui il VS il progettista pensa che sia una buona idea costruirlo di nuovo in fase di progettazione. Grazie per il puntatore! –