0

我有一个 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 ?
4

1 回答 1

0

所有者不发送任何提示,无论是插入还是删除。因此,接收者只能自己猜测或发现。我的建议是引入额外的消息类型(IAddOrder、IDeleteOrder),发送方有一个接口来告知更改的类型。如果这不可行,则需要在 IOrder 中添加一些信息,但这只是一个臭名昭著的解决方法,因为在交换消息后不再需要数据。

于 2010-10-16T21:25:11.167 回答