Esempio n. 1
0
        /// <summary>
        ///     Removes the weak event listener for a PropertyChanged event.
        /// </summary>
        /// <param name="source">The source of the event.</param>
        /// <param name="handler">The event handler.</param>
        /// <exception cref="T:System.ArgumentNullException">source must not be <c>null</c>.</exception>
        /// <exception cref="T:System.ArgumentNullException">handler must not be <c>null</c>.</exception>
        protected void RemoveWeakEventListener(INotifyPropertyChanged source, PropertyChangedEventHandler handler)
        {
            if (source == null)
            {
                throw new ArgumentNullException("source");
            }
            if (handler == null)
            {
                throw new ArgumentNullException("handler");
            }
            PropertyChangedEventListener changedEventListener = propertyChangedListeners.LastOrDefault(l =>
            {
                if (l.Source == source)
                {
                    return(l.Handler == handler);
                }
                return(false);
            });

            if (changedEventListener == null)
            {
                return;
            }
            propertyChangedListeners.Remove(changedEventListener);
            PropertyChangedEventManager.RemoveListener(source, changedEventListener, "");
        }
Esempio n. 2
0
 /// <summary>
 ///     Adds a weak event listener for a PropertyChanged event.
 /// </summary>
 /// <param name="source">The source of the event.</param>
 /// <param name="handler">The event handler.</param>
 /// <exception cref="T:System.ArgumentNullException">source must not be <c>null</c>.</exception>
 /// <exception cref="T:System.ArgumentNullException">handler must not be <c>null</c>.</exception>
 protected void AddWeakEventListener(INotifyPropertyChanged source, PropertyChangedEventHandler handler)
 {
     if (source == null)
     {
         throw new ArgumentNullException("source");
     }
     if (handler == null)
     {
         throw new ArgumentNullException("handler");
     }
     var changedEventListener = new PropertyChangedEventListener(source, handler);
     propertyChangedListeners.Add(changedEventListener);
     PropertyChangedEventManager.AddListener(source, changedEventListener, "");
 }
Esempio n. 3
0
        /// <summary>
        ///     Adds a weak event listener for a PropertyChanged event.
        /// </summary>
        /// <param name="source">The source of the event.</param>
        /// <param name="handler">The event handler.</param>
        /// <exception cref="T:System.ArgumentNullException">source must not be <c>null</c>.</exception>
        /// <exception cref="T:System.ArgumentNullException">handler must not be <c>null</c>.</exception>
        protected void AddWeakEventListener(INotifyPropertyChanged source, PropertyChangedEventHandler handler)
        {
            if (source == null)
            {
                throw new ArgumentNullException("source");
            }
            if (handler == null)
            {
                throw new ArgumentNullException("handler");
            }
            var changedEventListener = new PropertyChangedEventListener(source, handler);

            propertyChangedListeners.Add(changedEventListener);
            PropertyChangedEventManager.AddListener(source, changedEventListener, "");
        }