J'ai créé une application en utilisant MVVMCross, les versions IOS et Android fonctionnent mais quand j'ai essayé de "porter" WP7 et j'ai couru dans le problème suivant:methodAccessException lors du passage de variables de ViewModel à ViewModel sur WP7 en utilisant un objet anonyme (MVVMCross)
throw methodAccessException.MvxWrap("Problem accessing object - most likely this is caused by an anonymous object being generated as Internal - please see http://stackoverflow.com/questions/8273399/anonymous-types-and-get-accessors-on-wp7-1");
Comme mentionné dans la réponse à mon autre question à ce sujet (sur Android), vous devez définir un attribut InternalsVisibleTo dans les AssemblyInfo.cs pour WP7. Donc j'ai fait:
[assembly: InternalsVisibleTo("Cirrious.MvvmCross.WindowsPhone")]
Mais cela ne fait aucune différence. J'utilise le code suivant pour envoyer deux variables de mon BeckhoffViewModel à mon BeckhoffSensorViewModel.
BeckhoffViewModel:
public IMvxCommand BeckhoffSensor1
{
get
{
return new MvxRelayCommand(kvpSens1);
}
}
private void kvpSens1()
{
RequestNavigate<BeckhoffSensorViewModel>(new { VarType = "short", Variable = ".countertest" });
}
BeckhoffSensorViewModel:
public BeckhoffSensorViewModel(string VarType, string Variable)
{
_vartype = VarType;
_variable = Variable;
}
Tout ce que je donne sur? J'ai également regardé l'autre sujet de stackoverflow mentionné dans l'exception mais je ne pouvais pas vraiment le comprendre.
Je suppose que je n'étais pas complètement réveillé ce matin. J'ai ajouté l'attribut au fichier AssemblyInfo.cs dans l'interface utilisateur à la place du Core (/ Library). Après avoir corrigé cette erreur, cela fonctionne très bien! – David
Je l'ai déjà fait :) – Stuart