Вы можете перейти здесь для получения информации о EventAggregator
.
. Вы также можете использовать следующий код для создания экземпляра EventAggregator
без использования MEF или Unity:
internal static class EventAggregatorHelper
{
private static IEventAggregator _Current = new EventAggregator();
public static IEventAggregator Current
{
get
{
return _Current;
}
}
}
И вы можете затем вызвать EventAggregator
, передав таким образом необходимую информацию агрегатору:
EventAggregatorHelper.Current.GetEvent<SelectedItemChangedEvent>().
Subscribe(HandleSelectedItemChangedEvent);
В этом случае SelectedItemChangedEvent
и абонент, который имеет дело сthis event.
SelectedItemChangedEvent
- это класс, объявленный, как показано ниже:
public class SelectedItemChangedEvent : CompositePresentationEvent<String>
{
}
, и подписчик будет выглядеть примерно так:
internal void HandleSelectedItemChangedEvent(string viewName)
{
if (!String.IsNullOrEmpty(viewName))
{
//Do whatever you need to do here.
}
}
Ссылкаагрегатору событий, который я разместил в начале, он прояснит большинство вещей для вас.
Надеюсь, это поможет.