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
- DrawingContextWalker.cs
- ElementProxy.cs
- ItemsPanelTemplate.cs
- mediaeventargs.cs
- TraceLog.cs
- ResourceCategoryAttribute.cs
- CleanUpVirtualizedItemEventArgs.cs
- DeviceContexts.cs
- DataIdProcessor.cs
- ObjRef.cs
- ListSourceHelper.cs
- SafeCryptContextHandle.cs
- PolygonHotSpot.cs
- RenderData.cs
- HwndSubclass.cs
- TaskCanceledException.cs
- Timer.cs
- cryptoapiTransform.cs
- CodeDomSerializerException.cs
- MarkupWriter.cs
- ConfigurationStrings.cs
- CFStream.cs
- PathSegmentCollection.cs
- DurableMessageDispatchInspector.cs
- InfocardChannelParameter.cs
- Drawing.cs
- MouseActionConverter.cs
- ToolStripItemImageRenderEventArgs.cs
- BamlResourceDeserializer.cs
- Transform3D.cs
- EntityDataSource.cs
- HtmlDocument.cs
- BindingWorker.cs
- SerialReceived.cs
- SQLInt32Storage.cs
- ColorAnimationUsingKeyFrames.cs
- DataGridAutomationPeer.cs
- ValidationHelpers.cs
- DBParameter.cs
- OleDbFactory.cs
- DetailsViewDesigner.cs
- DataStreams.cs
- ItemType.cs
- XmlCountingReader.cs
- Pair.cs
- StorageModelBuildProvider.cs
- SchemaTableOptionalColumn.cs
- configsystem.cs
- SqlWebEventProvider.cs
- WeakReference.cs
- Ops.cs
- DataServiceContext.cs
- MessageHeaderDescription.cs
- WebPartDisplayModeEventArgs.cs
- ZipIOZip64EndOfCentralDirectoryBlock.cs
- EntityDataSourceStatementEditor.cs
- BaseParser.cs
- ZipFileInfoCollection.cs
- ObjectFullSpanRewriter.cs
- InfiniteTimeSpanConverter.cs
- SiteMap.cs
- QilGenerator.cs
- Timer.cs
- Underline.cs
- LineGeometry.cs
- ResourceWriter.cs
- HandlerElement.cs
- SchemaCollectionCompiler.cs
- DataGridViewAdvancedBorderStyle.cs
- CellParaClient.cs
- EntityViewGenerationAttribute.cs
- PointCollectionValueSerializer.cs
- DrawingAttributesDefaultValueFactory.cs
- SHA1CryptoServiceProvider.cs
- SharedPerformanceCounter.cs
- ManagementPath.cs
- DocumentReferenceCollection.cs
- SqlProviderServices.cs
- WindowsComboBox.cs
- EdgeModeValidation.cs
- ReflectPropertyDescriptor.cs
- BindableAttribute.cs
- XmlAttributes.cs
- MetadataHelper.cs
- CngKey.cs
- CdpEqualityComparer.cs
- MarshalByValueComponent.cs
- OutputCacheSettingsSection.cs
- EFAssociationProvider.cs
- XMLUtil.cs
- PresentationAppDomainManager.cs
- isolationinterop.cs
- HtmlDocument.cs
- XmlTextWriter.cs
- EdmComplexPropertyAttribute.cs
- GeometryCollection.cs
- SqlProfileProvider.cs
- ComboBoxRenderer.cs
- Propagator.ExtentPlaceholderCreator.cs
- DataGridViewCellStyle.cs