Exemplo n.º 1
0
 /// <summary>
 /// Adiciona o evento que será acionado quando a coleção for alterada.
 /// </summary>
 /// <param name="eventHandler"></param>
 /// <param name="priority"></param>
 void INotifyCollectionChangedDispatcher.AddCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedEventHandler eventHandler, NotifyCollectionChangedDispatcherPriority priority)
 {
     if (this.IsThreadSafe)
     {
         if (eventHandler != null)
         {
             var dispatcher = Threading.DispatcherManager.Dispatcher;
             if (dispatcher != null && !dispatcher.CheckAccess())
             {
                 dispatcher = null;
             }
             if (!_collectionChangedHandlers.ContainsKey(eventHandler))
             {
                 _collectionChangedHandlers.Add(eventHandler, new CollectionChangedWrapperEventData(dispatcher, eventHandler, priority));
             }
         }
     }
     else
     {
         _collectionChanged += eventHandler;
     }
 }
Exemplo n.º 2
0
 /// <summary>
 /// Construtor padrão.
 /// </summary>
 /// <param name="dispatcher">Dispatcher que será utilizado pela instancia.</param>
 /// <param name="action">Ação que será acionada.</param>
 /// <param name="priority">Prioridade;</param>
 public CollectionChangedWrapperEventData(Colosoft.Threading.IDispatcher dispatcher, System.Collections.Specialized.NotifyCollectionChangedEventHandler action, NotifyCollectionChangedDispatcherPriority priority)
 {
     _dispatcher = dispatcher;
     _action     = action;
     _priority   = priority;
 }