Example #1
0
        public void Unsubscribe(string eventName, ViewModelBase source, ICommand action)
        {
            var key     = GetKey(eventName);
            var payload = new EventPayload {
                EventSource = source, EventAction = action
            };

            lock (_eventRegistry)
            {
                if (_eventRegistry[key].Contains(payload))
                {
                    _eventRegistry[key].Remove(payload);
                }
            }
        }
Example #2
0
 public void Subscribe(string eventName, ViewModelBase source, ICommand action)
 {
     lock (_eventRegistry)
     {
         var key     = GetKey(eventName);
         var payload = new EventPayload {
             EventSource = source, EventAction = action
         };
         if (!_eventRegistry.ContainsKey(key))
         {
             _eventRegistry.Add(key, new List <EventPayload>());
         }
         if (!_eventRegistry[key].Contains(payload))
         {
             _eventRegistry[key].Add(payload);
         }
     }
 }