Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / wpf / src / Framework / System / Windows / Data / DataChangedEventManager.cs / 1 / DataChangedEventManager.cs
//---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // Description: Manager for the DataChanged event in the "weak event listener" // pattern. See WeakEventTable.cs for an overview. // //--------------------------------------------------------------------------- using System; using System.Windows; // WeakEventManager namespace System.Windows.Data { ////// Manager for the DataSourceProvider.DataChanged event. /// public class DataChangedEventManager : WeakEventManager { #region Constructors // // Constructors // private DataChangedEventManager() { } #endregion Constructors #region Public Methods // // Public Methods // ////// Add a listener to the given source's event. /// public static void AddListener(DataSourceProvider source, IWeakEventListener listener) { CurrentManager.ProtectedAddListener(source, listener); } ////// Remove a listener to the given source's event. /// public static void RemoveListener(DataSourceProvider source, IWeakEventListener listener) { CurrentManager.ProtectedRemoveListener(source, listener); } #endregion Public Methods #region Protected Methods // // Protected Methods // ////// Listen to the given source for the event. /// protected override void StartListening(object source) { DataSourceProvider typedSource = (DataSourceProvider)source; typedSource.DataChanged += new EventHandler(OnDataChanged); } ////// Stop listening to the given source for the event. /// protected override void StopListening(object source) { DataSourceProvider typedSource = (DataSourceProvider)source; typedSource.DataChanged -= new EventHandler(OnDataChanged); } #endregion Protected Methods #region Private Properties // // Private Properties // // get the event manager for the current thread private static DataChangedEventManager CurrentManager { get { Type managerType = typeof(DataChangedEventManager); DataChangedEventManager manager = (DataChangedEventManager)GetCurrentManager(managerType); // at first use, create and register a new manager if (manager == null) { manager = new DataChangedEventManager(); SetCurrentManager(managerType, manager); } return manager; } } #endregion Private Properties #region Private Methods // // Private Methods // // event handler for DataChanged event private void OnDataChanged(object sender, EventArgs args) { DeliverEvent(sender, args); } #endregion Private Methods } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. //---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // Description: Manager for the DataChanged event in the "weak event listener" // pattern. See WeakEventTable.cs for an overview. // //--------------------------------------------------------------------------- using System; using System.Windows; // WeakEventManager namespace System.Windows.Data { ////// Manager for the DataSourceProvider.DataChanged event. /// public class DataChangedEventManager : WeakEventManager { #region Constructors // // Constructors // private DataChangedEventManager() { } #endregion Constructors #region Public Methods // // Public Methods // ////// Add a listener to the given source's event. /// public static void AddListener(DataSourceProvider source, IWeakEventListener listener) { CurrentManager.ProtectedAddListener(source, listener); } ////// Remove a listener to the given source's event. /// public static void RemoveListener(DataSourceProvider source, IWeakEventListener listener) { CurrentManager.ProtectedRemoveListener(source, listener); } #endregion Public Methods #region Protected Methods // // Protected Methods // ////// Listen to the given source for the event. /// protected override void StartListening(object source) { DataSourceProvider typedSource = (DataSourceProvider)source; typedSource.DataChanged += new EventHandler(OnDataChanged); } ////// Stop listening to the given source for the event. /// protected override void StopListening(object source) { DataSourceProvider typedSource = (DataSourceProvider)source; typedSource.DataChanged -= new EventHandler(OnDataChanged); } #endregion Protected Methods #region Private Properties // // Private Properties // // get the event manager for the current thread private static DataChangedEventManager CurrentManager { get { Type managerType = typeof(DataChangedEventManager); DataChangedEventManager manager = (DataChangedEventManager)GetCurrentManager(managerType); // at first use, create and register a new manager if (manager == null) { manager = new DataChangedEventManager(); SetCurrentManager(managerType, manager); } return manager; } } #endregion Private Properties #region Private Methods // // Private Methods // // event handler for DataChanged event private void OnDataChanged(object sender, EventArgs args) { DeliverEvent(sender, args); } #endregion Private Methods } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- Pen.cs
- SafeLocalMemHandle.cs
- ToolboxDataAttribute.cs
- SmiGettersStream.cs
- COM2ComponentEditor.cs
- ShapingEngine.cs
- PromptEventArgs.cs
- DataGridViewIntLinkedList.cs
- ProxySimple.cs
- ColorMatrix.cs
- ServicePointManagerElement.cs
- EntityObject.cs
- DataGridRow.cs
- LateBoundBitmapDecoder.cs
- HttpWebRequest.cs
- XmlComment.cs
- BrowserInteropHelper.cs
- UrlMappingsSection.cs
- StyleXamlTreeBuilder.cs
- ContentPropertyAttribute.cs
- XmlSchemaInfo.cs
- ConnectionProviderAttribute.cs
- UnSafeCharBuffer.cs
- BrowserCapabilitiesFactory.cs
- SafePEFileHandle.cs
- ViewStateChangedEventArgs.cs
- RectConverter.cs
- ServiceOperationListItemList.cs
- Splitter.cs
- BindUriHelper.cs
- InlineObject.cs
- PerformanceCounterManager.cs
- RSAPKCS1SignatureDeformatter.cs
- EnumMemberAttribute.cs
- MethodBuilderInstantiation.cs
- SecurityContextKeyIdentifierClause.cs
- ParameterToken.cs
- Char.cs
- MatrixAnimationUsingPath.cs
- SchemaConstraints.cs
- SafeCancelMibChangeNotify.cs
- ContextDataSourceView.cs
- SqlDataSourceView.cs
- WebPartsPersonalization.cs
- DataGridViewElement.cs
- RowUpdatingEventArgs.cs
- OLEDB_Util.cs
- TableDetailsRow.cs
- IndentTextWriter.cs
- Typography.cs
- XpsLiterals.cs
- FileSystemEventArgs.cs
- BaseParaClient.cs
- DesignTimeParseData.cs
- MemberHolder.cs
- StreamGeometryContext.cs
- MeasureItemEvent.cs
- FileRecordSequenceHelper.cs
- FieldNameLookup.cs
- ErrorsHelper.cs
- SecurityKeyIdentifierClause.cs
- HighlightVisual.cs
- UnsafeNativeMethods.cs
- QilCloneVisitor.cs
- Debug.cs
- LostFocusEventManager.cs
- LazyInitializer.cs
- CodeSubDirectoriesCollection.cs
- StdValidatorsAndConverters.cs
- HebrewCalendar.cs
- TemplatedMailWebEventProvider.cs
- MembershipValidatePasswordEventArgs.cs
- EdmProperty.cs
- InvokeBase.cs
- StylusPointDescription.cs
- IssuanceLicense.cs
- WebPartExportVerb.cs
- DataRelationCollection.cs
- Viewport2DVisual3D.cs
- Substitution.cs
- precedingsibling.cs
- WhitespaceRuleReader.cs
- CompiledQueryCacheKey.cs
- CompositeDesignerAccessibleObject.cs
- FileUpload.cs
- TreeView.cs
- WinEventQueueItem.cs
- CommunicationException.cs
- DownloadProgressEventArgs.cs
- OdbcReferenceCollection.cs
- SettingsPropertyNotFoundException.cs
- TransportReplyChannelAcceptor.cs
- DesignerGenericWebPart.cs
- ConstraintCollection.cs
- Literal.cs
- Html32TextWriter.cs
- PropertyMap.cs
- ZipIOModeEnforcingStream.cs
- DataServiceException.cs
- RuntimeHelpers.cs