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
- UnsafeMethods.cs
- ZipIORawDataFileBlock.cs
- SessionViewState.cs
- AsyncResult.cs
- Animatable.cs
- Html32TextWriter.cs
- ServiceNameCollection.cs
- WrappedIUnknown.cs
- Cursor.cs
- SqlTransaction.cs
- ImageListStreamer.cs
- AndMessageFilterTable.cs
- XPathItem.cs
- BindingUtils.cs
- FixedSOMTableCell.cs
- COM2IDispatchConverter.cs
- OdbcEnvironment.cs
- SQLInt64.cs
- DrawingServices.cs
- SerTrace.cs
- PathNode.cs
- DynamicILGenerator.cs
- TableCellAutomationPeer.cs
- Helpers.cs
- PropertyDescriptorCollection.cs
- PerfCounterSection.cs
- SafeEventHandle.cs
- Menu.cs
- ReadOnlyDataSourceView.cs
- ServerType.cs
- ArrayTypeMismatchException.cs
- ArcSegment.cs
- TitleStyle.cs
- EndOfStreamException.cs
- OneOfScalarConst.cs
- ExtendedPropertyDescriptor.cs
- LoadRetryStrategyFactory.cs
- SessionPageStateSection.cs
- ResourceBinder.cs
- basecomparevalidator.cs
- SafeRegistryHandle.cs
- Vector3DConverter.cs
- ParallelTimeline.cs
- SchemaElement.cs
- QilFunction.cs
- Line.cs
- DBConnectionString.cs
- FilterableAttribute.cs
- OutputCacheProfileCollection.cs
- UIElementPropertyUndoUnit.cs
- AutomationInteropProvider.cs
- OdbcConnectionStringbuilder.cs
- IconBitmapDecoder.cs
- XmlLangPropertyAttribute.cs
- CompositeActivityCodeGenerator.cs
- BuildProviderAppliesToAttribute.cs
- FixedPage.cs
- ObjectQueryProvider.cs
- SqlBulkCopyColumnMapping.cs
- FillRuleValidation.cs
- DesignerPainter.cs
- EditorPartCollection.cs
- SqlTypeSystemProvider.cs
- ToolStripSystemRenderer.cs
- UndirectedGraph.cs
- StoryFragments.cs
- RuntimeHandles.cs
- HorizontalAlignConverter.cs
- GenericXmlSecurityToken.cs
- SqlDataSourceQueryEditorForm.cs
- PointLight.cs
- TraceSection.cs
- DataViewManagerListItemTypeDescriptor.cs
- TreeChangeInfo.cs
- QueryStoreStatusRequest.cs
- ExtensibleSyndicationObject.cs
- NegationPusher.cs
- SHA384Managed.cs
- Parallel.cs
- SQLInt16Storage.cs
- FontUnit.cs
- SQLByteStorage.cs
- CrossAppDomainChannel.cs
- Lasso.cs
- Control.cs
- ServiceOperation.cs
- DrawingImage.cs
- Win32SafeHandles.cs
- GridViewColumnCollectionChangedEventArgs.cs
- XamlBrushSerializer.cs
- ImageCodecInfoPrivate.cs
- WebBaseEventKeyComparer.cs
- ADMembershipProvider.cs
- XmlAtomicValue.cs
- WebBrowserNavigatedEventHandler.cs
- XmlDeclaration.cs
- OleDbConnectionFactory.cs
- AppearanceEditorPart.cs
- HashCodeCombiner.cs
- DebugHandleTracker.cs