Ceci est une question sur l'interface utilisateur de formulaire de modification pour une application WP7:Les formulaires d'édition WP7 doivent-ils comporter des boutons Enregistrer/Annuler ou vous devez utiliser une liaison bidirectionnelle?
J'ai actuellement mes champs de formulaire de modifier réglé sur 2 voies de liaison qui signifie que l'utilisateur les changements qu'ils économisent sur modifier et mettre à jour l'interface utilisateur dans le ViewModel (Méthode 1). Donc je n'ai pas besoin d'un bouton Enregistrer et il n'y a pas de bouton Annuler (sauf si vous codez en logique pour stocker l'état d'origine et revenir en arrière sur annuler).
La méthode 2 consisterait à utiliser une liaison 1 voie et UpdateSource sur le bouton de sauvegarde, et vous pourriez alors avoir un bouton Annuler qui fonctionne comme le bouton Précédent (revient en arrière sans sauvegarder).
La méthode 1 est sympa car elle gère la préservation de l'état si l'application est désactivée - WP7 restaurera la page et vos changements auront été sauvegardés. L'inconvénient est qu'il n'y a aucun moyen pour l'utilisateur de le restaurer dans son état de départ une fois qu'il a apporté des modifications. Ma forme est triviale, donc je ne pense pas que ce soit un problème. Le bouton Précédent agit en tant que retour.
Je fais également des calculs dans la propriété de setter dans ma VM qui doivent être reflétés à l'interface utilisateur (ie vous dans le champ 1 et le champ 2 est le double de la valeur (mais ils peuvent également le contourner) liaison sur le Champ 1 et mise à jour sur les champs 1 et 2. Je ne peux pas trouver un moyen de le faire en utilisant la mise à jour explicite
Le problème est que j'ai un bouton Supprimer pour l'enregistrement, donc quand j'utilise la méthode 1 sans bouton Enregistrer et Annuler l'utilisateur est susceptible de cliquer sur le bouton Supprimer car il est la seule option disponible (ils doivent cliquer sur le bouton Précédent pour revenir en arrière)
Ma question est la suivante: un bouton Enregistrer et Annuler et valider le d ata seulement sur Enregistrer, ou est-ce que vous pouvez utiliser la liaison bidirectionnelle et ne pas avoir de boutons?
Merci encore une fois pour l'avis Matt - le seul problème que j'ai avec cela est qu'un champ dépend d'un autre et a besoin de mettre à jour l'interface utilisateur lorsque la première est modifiée - la seule façon de faire est d'avoir une liaison bidirectionnelle sur ce champ Je suppose que je dois mettre une certaine logique pour restaurer la valeur sur NavigatedFrom (pour attraper toutes les sorties) à moins que le bouton Enregistrer ne soit poussé ... – Rodney