You are right about you will need an
ID in your LocationItem class to be able to filter the event before the registered handler is called. The filter could be supplied as a lambda expression, as shown in the following bold code:
FundAddedEvent fundAddedEvent = eventAggregator.GetEvent<FundAddedEvent>();
fundAddedEvent.Subscribe(FundAddedEventHandler, ThreadOption.UIThread, false,
fundOrder => fundOrder.CustomerId == _customerId);
public void FundAddedEventHandler(FundOrder fundOrder)
Perhaps you could find useful the
EventAggregation Quickstart. This sample application uses a filter expression to define a condition that the event's argument must meet for the event handler to be invoked.
Note: I assume that you are referring to 3 instances of a view that belongs to the same module, since the module is initialized only once.
Please let me know if this helps.