Bonjour à tous,
Je dois gérer une liste de clients où l'on peut lier un, voir plusieurs contacts.
J'utilise 2 Views et ViewModels différents pour la création du client et la création d'un contact.
Sur la View de création du client, j'ai un bouton "Ajouter un contact" qui me permet d'arriver sur la View de création du contact.
Lorsque tous les champs du contact sont remplis, j'envoie à travers le Messenger, le token Contact (et je m'inscris au Messenger côté client ViewModel).
Voici les codes simplifiés :
Côté NewContactViewModel :
Côté NewClientViewModel :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 private void ExecuteConfirmCommand() //executer lorsque je confirme la fiche contact { Messenger.Default.Send(CurrentContact); //le contact à ajouter class : ContactDTO Messenger.Default.Send(NavigationActionEnum.NewClientView); //je retourne sur le NewclientViewModel }
Mon code ajoute bien les données mais le problème, c'est que lorsque je rajoute plus d'un contact au client, il écrase le contact précedent.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 public NewClientViewModel() { Messenger.Default.Register<ContactDTO>(this, OnContactReception); } private void OnContactReception(ContactDTO contact) { ContactsCollection.Add(contact); }
Par exemple :
J'ajoute Alain puis Pierre, je me retrouve avec Pierre 2 fois (et si je rajoute un autre par après, je me retrouve avec le même 3 fois).
Est-ce que j'utilise mal le Messenger ?
Merci de m'avoir lu jusqu'ici et merci d'avance pour vos réponses.
Partager