Example #1
0
 public bool Remove(string Name)
 {
     lock (_Triggers)
     {
         if (!_Triggers.ContainsKey(Name))
         {
             return(false);
         }
         var trigger    = _Triggers[Name];
         var is_removed = _Triggers.Remove(Name);
         CollectionChanged.ThreadSafeInvoke(this, new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Remove, new { trigger }));
         return(is_removed);
     }
 }
Example #2
0
 public EventsTrigger this[string Name]
 {
     get { lock (_Triggers) return(_Triggers.GetValue(Name)); }
     set
     {
         lock (_Triggers)
             if (!_Triggers.ContainsKey(Name))
             {
                 _Triggers.Add(Name, value);
                 CollectionChanged.ThreadSafeInvoke(this,
                                                    new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Add, new { value }));
             }
             else
             {
                 var old_value = _Triggers[Name];
                 _Triggers[Name] = value;
                 CollectionChanged.ThreadSafeInvoke(this,
                                                    new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Replace, value, old_value));
             }
     }
 }
Example #3
0
 private void OnCollectionChanged(object Sender, NotifyCollectionChangedEventArgs E) => CollectionChanged?.ThreadSafeInvoke(_Collection, E);