2013-06-14 2 views
1

Lorsque je tente d'ouvrir une nouvelle viewmodel Je reçois l'erreur suivante:MVVMCross - Naviguer ViewModel

Impossible de charger ViewModel pour le type EasyBudget.Core.ViewModels.GridCategoryViewModel de localisateur MvxDefaultViewModelLocator

d'une manière montre également:

Aucun symbole trouvé.

Et montre que ne peut pas trouver ou ouvrir le fichier PDB.

Mes viewmodel:

public class HomeViewModel 
    : MvxViewModel 
{ 
    private Cirrious.MvvmCross.ViewModels.MvxCommand _listCommandCategory; 

    public System.Windows.Input.ICommand ListCommandCategory 
    { 
     get 
     { 
      _listCommandCategory = _listCommandCategory ?? new Cirrious.MvvmCross.ViewModels.MvxCommand(DoListCategory); 
      return _listCommandCategory; 
     } 
    } 

    private void DoListCategory() 
    { 
     ShowViewModel<GridCategoryViewModel>(); 
    } 
} 

Et mon autre viewmodel:

public partial class GridCategoryView : MvxPhonePage 
{ 
    public GridCategoryView() 
    { 
     InitializeComponent(); 
    } 
} 

Est-ce que quelqu'un sait ce que je pourrais être forgeting?

Meilleures salutations

Wilton Ruffato Wonrath

Répondre

1

je crois que le problème sera probablement quelque part dans la construction du ViewModel:

  • peut-être le constructeur lui-même est pas public?
  • peut-être un ou plusieurs des paramètres pour le constructeur n'a pas pu être trouvé?
  • peut-être un code dans le constructeur a lancé une exception

où vous avez publié mon autre viewmodel 'vous codez en fait seulement pour votre posté autre point de vue. Pouvez-vous poster le code pour le ViewModel qui accompagne cette vue?


Si vous activez votre débogueur pour briser sur toutes les exceptions, alors cela peut vous aider à trouver le problème qui se produit lors du chargement (à l'intérieur https://github.com/slodge/MvvmCross/blob/v3/Cirrious/Cirrious.MvvmCross/ViewModels/MvxDefaultViewModelLocator.cs).


Si vous voulez un pdb pour les symboles de débogage, puis ceux-ci se trouvent dans les dossiers de http://github.com/slodge/MvvmCross-Binaries - à l'intérieur des dossiers VS2012/Release. Nous sommes également en train d'essayer de déterminer comment distribuer ces via SymbolSource.org (d'abord eu la demande/suggestion cette semaine)


Enfin, si vous voulez voir la trace d'une version de Windows et utilisez la version paquets de nuget alors vous pouvez le faire en remplaçant CreateDebugTrace() dans votre fichier Setup.cs - par exemple essayez:

Cela vous permettra également d'ajouter une trace de débogage à votre code de base si vous voulez en utilisant:

Mvx.Trace(format, args...) 
    Mvx.Warning(format, args...) 
    Mvx.Error(format, args...) 
Questions connexes