Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Base / System / ComponentModel / CurrentChangingEventManager.cs / 1 / CurrentChangingEventManager.cs
//---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // Description: Manager for the CurrentChanging event in the "weak event listener" // pattern. See WeakEventTable.cs for an overview. // //--------------------------------------------------------------------------- using System; using System.ComponentModel; // ICollectionView.CurrentChanging using System.Windows; // WeakEventManager namespace System.ComponentModel { ////// Manager for the ICollectionView.CurrentChanging event. /// public class CurrentChangingEventManager : WeakEventManager { #region Constructors // // Constructors // private CurrentChangingEventManager() { } #endregion Constructors #region Public Methods // // Public Methods // ////// Add a listener to the given source's event. /// public static void AddListener(ICollectionView source, IWeakEventListener listener) { CurrentManager.ProtectedAddListener(source, listener); } ////// Remove a listener to the given source's event. /// public static void RemoveListener(ICollectionView 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) { ICollectionView typedSource = (ICollectionView)source; typedSource.CurrentChanging += new CurrentChangingEventHandler(OnCurrentChanging); } ////// Stop listening to the given source for the event. /// protected override void StopListening(object source) { ICollectionView typedSource = (ICollectionView)source; typedSource.CurrentChanging -= new CurrentChangingEventHandler(OnCurrentChanging); } #endregion Protected Methods #region Private Properties // // Private Properties // // get the event manager for the current thread private static CurrentChangingEventManager CurrentManager { get { Type managerType = typeof(CurrentChangingEventManager); CurrentChangingEventManager manager = (CurrentChangingEventManager)GetCurrentManager(managerType); // at first use, create and register a new manager if (manager == null) { manager = new CurrentChangingEventManager(); SetCurrentManager(managerType, manager); } return manager; } } #endregion Private Properties #region Private Methods // // Private Methods // // event handler for CurrentChanging event private void OnCurrentChanging(object sender, CurrentChangingEventArgs 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
- DetailsViewInsertEventArgs.cs
- Interlocked.cs
- OracleBoolean.cs
- InplaceBitmapMetadataWriter.cs
- BamlStream.cs
- BinaryReader.cs
- TabPage.cs
- ObjectStateManagerMetadata.cs
- Rule.cs
- AttachedPropertyBrowsableForChildrenAttribute.cs
- Event.cs
- ExceptionUtil.cs
- XmlSchemaSimpleContent.cs
- OdbcStatementHandle.cs
- Calendar.cs
- Ray3DHitTestResult.cs
- _ServiceNameStore.cs
- HttpCapabilitiesSectionHandler.cs
- ColorConverter.cs
- WebReferencesBuildProvider.cs
- BackgroundWorker.cs
- RequiredAttributeAttribute.cs
- EnvironmentPermission.cs
- CommandID.cs
- HttpListenerContext.cs
- Propagator.JoinPropagator.JoinPredicateVisitor.cs
- PrintDialogDesigner.cs
- CacheAxisQuery.cs
- InvalidComObjectException.cs
- VirtualPathUtility.cs
- FindProgressChangedEventArgs.cs
- ExceptionTrace.cs
- JournalNavigationScope.cs
- Soap.cs
- GlobalizationAssembly.cs
- WindowsListViewScroll.cs
- XD.cs
- CompilerTypeWithParams.cs
- InnerItemCollectionView.cs
- LayoutManager.cs
- TdsValueSetter.cs
- CodeDOMUtility.cs
- UriParserTemplates.cs
- TemplateFactory.cs
- XmlSerializer.cs
- AsyncCompletedEventArgs.cs
- _OSSOCK.cs
- SQLDoubleStorage.cs
- XmlEnumAttribute.cs
- WebAdminConfigurationHelper.cs
- PolicyException.cs
- SByteConverter.cs
- EdmScalarPropertyAttribute.cs
- DbProviderManifest.cs
- ObjectStateEntryOriginalDbUpdatableDataRecord.cs
- ServiceMetadataContractBehavior.cs
- UriTemplateTrieLocation.cs
- DictionaryContent.cs
- X509Certificate.cs
- AstNode.cs
- SystemIPGlobalProperties.cs
- SessionStateUtil.cs
- TraceContextRecord.cs
- WebPartConnectionCollection.cs
- SourceFilter.cs
- ExpressionWriter.cs
- NameSpaceExtractor.cs
- SiteMapDataSourceView.cs
- XXXOnTypeBuilderInstantiation.cs
- FixedSOMTableRow.cs
- ManifestResourceInfo.cs
- CurrencyWrapper.cs
- GeometryHitTestResult.cs
- PrimitiveList.cs
- translator.cs
- _CommandStream.cs
- DocumentOrderQuery.cs
- InvalidDataException.cs
- WebPartTransformerCollection.cs
- webclient.cs
- Grammar.cs
- XMLDiffLoader.cs
- FragmentQuery.cs
- WorkflowDebuggerSteppingAttribute.cs
- SessionSwitchEventArgs.cs
- CompiledXpathExpr.cs
- PropertyChangedEventArgs.cs
- ThreadStartException.cs
- RegexInterpreter.cs
- TextDecorations.cs
- SafeSystemMetrics.cs
- SQLInt32Storage.cs
- PLINQETWProvider.cs
- PropertyChangedEventArgs.cs
- Transform.cs
- LineServicesCallbacks.cs
- QuaternionValueSerializer.cs
- Constraint.cs
- ToolStripPanelRenderEventArgs.cs
- BasicKeyConstraint.cs