Exemplo n.º 1
0
        /// <summary>
        /// Remove a handler for the given source's event.
        /// </summary>
        public static void RemoveHandler(DataSourceProvider source, EventHandler<EventArgs> handler)
        {
            if (handler == null)
                throw new ArgumentNullException("handler");

            CurrentManager.ProtectedRemoveHandler(source, handler);
        }
 /// <summary>Removes the specified listener from the <see cref="E:System.Windows.Data.DataSourceProvider.DataChanged" /> event of the specified source.</summary>
 /// <param name="source">The object with the event.</param>
 /// <param name="listener">The listener to remove.</param>
 // Token: 0x06001B50 RID: 6992 RVA: 0x00080796 File Offset: 0x0007E996
 public static void RemoveListener(DataSourceProvider source, IWeakEventListener listener)
 {
     if (listener == null)
     {
         throw new ArgumentNullException("listener");
     }
     DataChangedEventManager.CurrentManager.ProtectedRemoveListener(source, listener);
 }
 /// <summary>Removes the specified event handler from the specified source.</summary>
 /// <param name="source">The source object that the raises the <see cref="E:System.Windows.Data.DataSourceProvider.DataChanged" /> event.</param>
 /// <param name="handler">The delegate that handles the <see cref="E:System.Windows.Data.DataSourceProvider.DataChanged" /> event.</param>
 /// <exception cref="T:System.ArgumentNullException">
 ///         <paramref name="handler" /> is <see langword="null" />.</exception>
 // Token: 0x06001B52 RID: 6994 RVA: 0x000807CE File Offset: 0x0007E9CE
 public static void RemoveHandler(DataSourceProvider source, EventHandler <EventArgs> handler)
 {
     if (handler == null)
     {
         throw new ArgumentNullException("handler");
     }
     DataChangedEventManager.CurrentManager.ProtectedRemoveHandler(source, handler);
 }
Exemplo n.º 4
0
        //
        //  Public Methods
        //

        /// <summary>
        /// Add a listener to the given source's event.
        /// </summary>
        public static void AddListener(DataSourceProvider source, IWeakEventListener listener)
        {
            if (source == null)
                throw new ArgumentNullException("source");
            if (listener == null)
                throw new ArgumentNullException("listener");

            CurrentManager.ProtectedAddListener(source, listener);
        }
Exemplo n.º 5
0
        /// <summary>
        /// Remove a listener to the given source's event.
        /// </summary>
        public static void RemoveListener(DataSourceProvider source, IWeakEventListener listener)
        {
            /* for app-compat, allow RemoveListener(null, x) - it's a no-op (see Dev10 796788)
            if (source == null)
                throw new ArgumentNullException("source");
            */
            if (listener == null)
                throw new ArgumentNullException("listener");

            CurrentManager.ProtectedRemoveListener(source, listener);
        }
Exemplo n.º 6
0
        /// <summary>
        /// Remove a listener to the given source's event.
        /// </summary>
        public static void RemoveListener(DataSourceProvider source, IWeakEventListener listener)
        {
            /* for app-compat, allow RemoveListener(null, x) - it's a no-op
             * if (source == null)
             *  throw new ArgumentNullException("source");
             */
            if (listener == null)
            {
                throw new ArgumentNullException("listener");
            }

            CurrentManager.ProtectedRemoveListener(source, listener);
        }
Exemplo n.º 7
0
        //
        //  Public Methods
        //

        /// <summary>
        /// Add a listener to the given source's event.
        /// </summary>
        public static void AddListener(DataSourceProvider source, IWeakEventListener listener)
        {
            if (source == null)
            {
                throw new ArgumentNullException("source");
            }
            if (listener == null)
            {
                throw new ArgumentNullException("listener");
            }

            CurrentManager.ProtectedAddListener(source, listener);
        }
Exemplo n.º 8
0
        private static object UpdateWithNewResult(object arg)
        {
            object[] args = (object[])arg;
            Invariant.Assert(args.Length == 5);
            DataSourceProvider          provider = (DataSourceProvider)args[0];
            Exception                   error    = (Exception)args[1];
            object                      newData  = args[2];
            DispatcherOperationCallback completionWork
                = (DispatcherOperationCallback)args[3];
            object callbackArgs = args[4];

            provider.UpdateWithNewResult(error, newData, completionWork, callbackArgs);
            return(null);
        }
        // if the root item is a DataSourceProvider, use its Data instead
        // and listen for DataChanged events.  (Unless overridden explicitly
        // by the BindsDirectlyToSource property).
        private object DereferenceDataProvider(object item)
        {
            DataSourceProvider newDataProvider = item as DataSourceProvider;
            DataSourceProvider oldDataProvider = DataProvider;
            if (newDataProvider != oldDataProvider)
            {
                // we have a new data provider - retarget the event handler
                if (oldDataProvider != null)
                {
                    DataChangedEventManager.RemoveHandler(oldDataProvider, OnDataChanged);
                }

                DataProvider = newDataProvider;
                oldDataProvider = newDataProvider;

                if (TraceData.IsExtendedTraceEnabled(this, TraceDataLevel.Activate))
                {
                    TraceData.Trace(TraceEventType.Warning,
                                        TraceData.UseDataProvider(
                                            TraceData.Identify(this),
                                            TraceData.Identify(newDataProvider)));
                }

                if (newDataProvider != null)
                {
                    DataChangedEventManager.AddHandler(newDataProvider, OnDataChanged);
                    newDataProvider.InitialLoad();
                }
            }

            return (oldDataProvider != null) ? oldDataProvider.Data : item;
        }
Exemplo n.º 10
0
 public DeferHelper(DataSourceProvider provider)
 {
     _provider = provider;
 }
        /// <summary>Stops listening for the <see cref="E:System.Windows.Data.DataSourceProvider.DataChanged" /> event on the specified source.</summary>
        /// <param name="source">The source object to stop listening for.</param>
        // Token: 0x06001B55 RID: 6997 RVA: 0x0008081C File Offset: 0x0007EA1C
        protected override void StopListening(object source)
        {
            DataSourceProvider dataSourceProvider = (DataSourceProvider)source;

            dataSourceProvider.DataChanged -= this.OnDataChanged;
        }
Exemplo n.º 12
0
 public static void RemoveListener(DataSourceProvider source, System.Windows.IWeakEventListener listener)
 {
 }
Exemplo n.º 13
0
        void EnsureView(object source, Type collectionViewType)
        {
            if (_isInitializing || _deferLevel > 0)
            {
                return;
            }

            DataSourceProvider dataProvider = source as DataSourceProvider;

            // listen for DataChanged events from an DataSourceProvider
            if (dataProvider != _dataProvider)
            {
                if (_dataProvider != null)
                {
                    DataChangedEventManager.RemoveHandler(_dataProvider, OnDataChanged);
                }

                _dataProvider = dataProvider;

                if (_dataProvider != null)
                {
                    DataChangedEventManager.AddHandler(_dataProvider, OnDataChanged);
                    _dataProvider.InitialLoad();
                }
            }

            // if the source is DataSourceProvider, use its Data instead
            if (dataProvider != null)
            {
                source = dataProvider.Data;
            }

            // get the view
            ICollectionView view = null;

            if (source != null)
            {
                DataBindEngine engine     = DataBindEngine.CurrentDataBindEngine;
                ViewRecord     viewRecord = engine.GetViewRecord(source, this, collectionViewType, true,
                                                                 (object x) =>
                {
                    BindingExpressionBase beb = BindingOperations.GetBindingExpressionBase(this, SourceProperty);
                    return((beb != null) ? beb.GetSourceItem(x) : null);
                });

                if (viewRecord != null)
                {
                    view = viewRecord.View;
                    _isViewInitialized = viewRecord.IsInitialized;

                    // bring view up to date with the CollectionViewSource
                    if (_version != viewRecord.Version)
                    {
                        ApplyPropertiesToView(view);
                        viewRecord.Version = _version;
                    }
                }
            }

            // update the View property
            SetValue(ViewPropertyKey, view);
        }
Exemplo n.º 14
0
 public DeferHelper(DataSourceProvider provider)
 {
     _provider = provider;
 }
 public static void RemoveListener(DataSourceProvider source, System.Windows.IWeakEventListener listener)
 {
 }
Exemplo n.º 16
0
        /// <summary>
        /// Stop listening to the given source for the event.
        /// </summary>
        protected override void StopListening(object source)
        {
            DataSourceProvider typedSource = (DataSourceProvider)source;

            typedSource.DataChanged -= new EventHandler(OnDataChanged);
        }