К сожалению, агрегатор событий настроен только на передачу одного параметра. ОДНАКО этот параметр может быть классом или структурой.
Вот пример «сообщения», которое я передаю с помощью агрегатора событий, включая параметр обратного вызова.
public class OpenViewPayload
{
public string ViewName;
public object Context;
public Action callback;
}
[Export]
[PartCreationPolicy(CreationPolicy.Shared)]
public class OpenViewEvent : CompositePresentationEvent<OpenViewPayload>
{
}
Использование:
_eventAggregator.GetEvent<OpenViewEvent>().Publish(new OpenViewPayload() { ViewName = "CustomerView", Context = _selectedCustomerID, callback= ()=> { /* Close Current View */ } });