Je cherche actuellement toutes les solutions possibles pour pouvoir informer l'utilisateur, c'est-à-dire POP une boîte de dialogue, lorsqu'il y a une décision qu'il doit faire. Ceci est un problème courant avec le modèle MVVM et j'essaie de le résoudre pour le cadre MVVMCross. P>
Les solutions possibles pourraient être: p>
Que suggéreriez-vous? P>
3 Réponses :
La boîte de dialogue est un sujet intéressant qui ne convient pas toujours à l'écoulement de la liaison de données MVVM.
En règle générale, certains cas de dialogues sont pour des choses comme: p>
Pour certains de ces articles, je suggérerais que celles-ci pouvaient principalement être modélisées comme des préoccupations purement visualisées. Par exemple, la demande de sélection d'éléments simples est couramment effectuée à partir d'étiquettes de commande composées qui affichent des «ramasseurs» lors de la prise en taraudement - par exemple. Comme un MVXSpinner dans HTTPS : //github.com/slodulation/mvvmcross-Tutorials/blob/master/apiexamples/apiexamples.droid/resources/layout/test_spinner.axml#l16 P>
Pour les cas généraux, où vous voulez Les illustrations partagées pour piloter le flux d'utilisateurs, les options disponibles dans MVVMcross incluent la liste 3 que vous listez, toutes qui semblent viables pour moi, mais je conviens qu'aucun d'entre eux n'est parfait. P>
comme un supplémentaire Suggestion, une belle suggestion architecturale provient de l'équipe de modèles et de pratiques de Microsoft. Dans http://msdn.microsoft.com/fr -us / bibliothèque / gg405494 (v = pandp.40) .aspx , ils suggèrent une interface Leur implémentation de référence de ceci est la suivante: p> Un exemple de vision de cette option est: p> et Le point de vue peut collecter cette utilisation: P> où Le lien MSDN indique comment un client XAML peut se lier à cela à l'aide de comportements - donc je ne couvrirai donc pas cela plus loin ici. P> in iOS Pour MVVMCross, un objet d'affichage pourrait implémenter une propriété comme: p> cette propriété de vue utilise un abonnement et la propriété pourrait être liée à un jeu de liaison fluide comme: p> pour Android, une implémentation similaire pourrait être utilisée - cela pourrait peut-être utiliser un dialogue code> code> et pourrait peut-être aussi être liée à l'aide d'une vue Note: strong> p> iinterAdAcAdReQuest code> qui peut être utilisée dans la liaison de données, en particulier pour ce type de situation. P >
confirmation code> est une classe simple comme: p>
affectement code> -Based événement afin de canaliser la fenêtre Code> Soulevez CODE> Événements à une vue
MessageBox Code> -Trace de type. Il est important d'utiliser un
affaiblie code> de sorte que la vue de la vue n'a jamais référence à la vue code> code> - celles-ci peuvent causer des problèmes de fuite de mémoire dans xamarin.ios. Le
MessageBox Code> -Type serait assez simple - quelque chose comme: p>
code> dans XML. p>
iinterAdActionAquest
InterActionEquesseventargs
Comme Eugene dit, utilisez le plug-in UserPortAction. Malheureusement, il n'y a pas d'implémentation sur le téléphone Windows, voici le code que j'ai utilisé dans l'intervalle:
Mvx.RegisterSingleton<IUserInteraction>(new WindowsPhoneUserInteraction());
Si votre deuxième solution est une chose comme celle-ci Stackoverflow.com/Questtions/3801681/... - J'irais avec toi :)