Xamarin Forms ListView ItemTapped / ItemSelected Liaison de commandes sur XAML
Comment puis-je lier un ICommand objet de mon ViewModel (actuellement en BindingContext) à la ItemTapped ou ItemSelected dans une ListView en XAML?
C'est une tâche simple lors de l'utilisation d'un Bouton, j'ai juste mis de Commande="MyViewModelCommand" et tout fonctionne.
source d'informationauteur MarcioGomes | 2014-07-17
Vous devez vous connecter pour publier un commentaire.
Je ne suis pas sûr de savoir pourquoi vous avez besoin de donner de l'Élément Sélectionné ou d'un Élément Taraudé événement dans votre page quand vous pouvez obtenir directement choisis /taraudés objet directement dans votre ViewModel:
Je pense que vous avez lier la liste ci-dessous les types de code
Et dans la Vue Modèle qui vous avez lier avec la page, vous devez définir la propriété
objItemSelected
comme indiqué dans le code ci-dessousEt si vous souhaitez effectuer une quelconque des fonctionnalités supplémentaires, comme la navigation vers la page de détail, vous pouvez le faire à partir de l'ensemble de la propriété après OnPropertyChanged instruction est exécutée.
Espérons que cette aide!
Mon scénario est d'un clavier et d'images sont les touches et lorsque l'on clique sur le personnage est montré dans un label.
Donc..
Permet de dire que vous avez le suivre de contrôle(clé 1):
Et que vous voulez quand l'image est utilisé pour déclencher une commande de vous "viewModel" objet.
Mon "viewModel" a la suite:
où, dans ma classe(modèle de vue) constructeur j'ai:
"InputString" est une propriété de chaîne...
Donc pour la liaison de la vue et de la mode,l je suis en train de faire le suivi:
J'espère que je vous aide, si quelqu'un a besoin de quelque chose et que je peux aider, je suis là...et là.
JJ
EN XAML 17-11-14
J'ai utilisé pour prendre l'approche de la liaison de l'élément sélectionné dans la vue modèle, mais qui tend à s'élever de la difficulté à filtrer les changements programmatiques versus action de l'utilisateur. Mon favori personnel est une propriété attachée.
...et ensuite sur une ListView avec:
Il est possible que cela pourrait même être étendue pour prendre le nom de l'événement et de les appliquer de manière plus générale, mais c'est un exercice pour une autre fois.
Pourquoi ne pas lier le selectedItem attribut de votre listview à un viewModel de la propriété (disons un "selectedItem" la propriété); puis, dans le setter de la "selectedItem" la propriété dans votre viewModel vous exécuter votre commande.
Regarde le commentaire de Michael Rumpler dans la section commentaire de cette l'article