Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- EventHandlers.cs
- SelectedGridItemChangedEvent.cs
- CollectionViewProxy.cs
- Substitution.cs
- WebPartDisplayModeCancelEventArgs.cs
- DescendentsWalker.cs
- Timer.cs
- BCLDebug.cs
- DocumentGridContextMenu.cs
- CodeConstructor.cs
- Configuration.cs
- RepeatInfo.cs
- StorageComplexPropertyMapping.cs
- DateTimeConstantAttribute.cs
- KeyProperty.cs
- ScrollBarAutomationPeer.cs
- Baml2006Reader.cs
- WebCodeGenerator.cs
- LogicalExpr.cs
- HandlerMappingMemo.cs
- MemberAccessException.cs
- MetabaseServerConfig.cs
- AdRotator.cs
- Quad.cs
- WpfXamlLoader.cs
- DataGridBoundColumn.cs
- TextBoxRenderer.cs
- EmptyCollection.cs
- ParameterCollection.cs
- PermissionAttributes.cs
- BlockingCollection.cs
- ProfileSettingsCollection.cs
- DesignColumnCollection.cs
- SelectionRangeConverter.cs
- PeerResolverSettings.cs
- DiffuseMaterial.cs
- ConfigurationSettings.cs
- EventProviderWriter.cs
- ReflectPropertyDescriptor.cs
- LayoutEditorPart.cs
- XPathScanner.cs
- securitycriticaldataformultiplegetandset.cs
- NamedServiceModelExtensionCollectionElement.cs
- ColorDialog.cs
- LogWriteRestartAreaAsyncResult.cs
- ReflectEventDescriptor.cs
- TransactionsSectionGroup.cs
- Thickness.cs
- GuidelineSet.cs
- ExportOptions.cs
- DataAccessException.cs
- DoubleUtil.cs
- PointAnimation.cs
- TextBox.cs
- BitmapScalingModeValidation.cs
- TrackingAnnotationCollection.cs
- MailAddress.cs
- MenuItemStyleCollection.cs
- CfgSemanticTag.cs
- SqlProcedureAttribute.cs
- StringCollection.cs
- FrameDimension.cs
- ProviderConnectionPoint.cs
- Timer.cs
- ExpressionBuilder.cs
- SoapAttributes.cs
- CacheHelper.cs
- WebPartRestoreVerb.cs
- ProbeMatchesApril2005.cs
- XmlSchemaSimpleContentRestriction.cs
- VirtualPath.cs
- XPathMultyIterator.cs
- Matrix.cs
- CodeSubDirectoriesCollection.cs
- SamlAuthorityBinding.cs
- RecognizerBase.cs
- _UncName.cs
- _SafeNetHandles.cs
- BehaviorEditorPart.cs
- PhysicalAddress.cs
- GridViewRowEventArgs.cs
- SqlExpressionNullability.cs
- SelectionItemProviderWrapper.cs
- SqlDependencyUtils.cs
- DynamicMethod.cs
- TypeBuilder.cs
- DefaultValueConverter.cs
- Single.cs
- ConvertTextFrag.cs
- TrackingStringDictionary.cs
- ContractBase.cs
- HtmlElementCollection.cs
- ContextBase.cs
- StaticContext.cs
- TextEditorMouse.cs
- Cursors.cs
- XmlTextWriter.cs
- RadioButtonPopupAdapter.cs
- XmlStringTable.cs
- OperatorExpressions.cs