/// <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); }
// // 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); }
/// <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); }
/// <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); }
// // 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); }
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; }
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; }
public static void RemoveListener(DataSourceProvider source, System.Windows.IWeakEventListener listener) { }
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); }
/// <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); }