Отправьте IOrder из ViewModel1 в ViewModel2 с помощью Messenger, чем вы отличаете ADD / DEL? - PullRequest
0 голосов
/ 17 октября 2010

У меня есть CustomerListViewModel и OrderListViewModel. В последнем я выбираю ордер на его удаление или создаю новый. В обеих ситуациях мой CustomerListViewModel и Messenger должны зарегистрироваться с типом IOrder:

Messenger.Default.Register<IOrder>(this, AddOrder);
Messenger.Default.Register<IOrder>(this, DeleteOrder);

In the OrderListViewModel I do send the customer to be deleted/added:

Messenger.Default.Send<IOrder>(MyOrderObject);

Now both Actions AddOrder and DeleteOrder gets surely executed, how can I differentiate ?

1 Ответ

0 голосов
/ 17 октября 2010

Владелец не отправляет подсказку, если она вставлена ​​или удалена.Следовательно, получатель может только догадываться или узнавать сам.Я предлагаю ввести дополнительные типы сообщений (IAddOrder, IDeleteOrder), чтобы у отправителя был интерфейс, чтобы сообщить о типе изменения.Если это невозможно, вам необходимо добавить некоторую информацию в IOrder, но это будет просто вонючий обходной путь, потому что данные больше не нужны после обмена сообщением.

...