Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / wpf / src / 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. //---------------------------------------------------------------------------- // //// 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
- SqlNode.cs
- OrderByBuilder.cs
- GridViewDeletedEventArgs.cs
- CombinedTcpChannel.cs
- ListMarkerSourceInfo.cs
- SqlPersonalizationProvider.cs
- HtmlContainerControl.cs
- SoapProtocolImporter.cs
- ContentType.cs
- SplitterPanel.cs
- HtmlWindow.cs
- cookiecollection.cs
- PrivilegeNotHeldException.cs
- TableSectionStyle.cs
- BindingExpression.cs
- XmlLoader.cs
- PersonalizationProviderCollection.cs
- sqlpipe.cs
- OleDbErrorCollection.cs
- CultureInfoConverter.cs
- TraceUtility.cs
- SpStreamWrapper.cs
- TableHeaderCell.cs
- IDReferencePropertyAttribute.cs
- CharacterShapingProperties.cs
- FilterException.cs
- ZoneLinkButton.cs
- UnsafeNativeMethodsCLR.cs
- ClientBuildManagerTypeDescriptionProviderBridge.cs
- DefaultBinder.cs
- PerspectiveCamera.cs
- FontWeights.cs
- DocumentApplication.cs
- ZipIOCentralDirectoryBlock.cs
- ControlValuePropertyAttribute.cs
- _SpnDictionary.cs
- unsafeIndexingFilterStream.cs
- RtfToXamlReader.cs
- PageClientProxyGenerator.cs
- SelectionRangeConverter.cs
- PrintEvent.cs
- PeerDuplexChannelListener.cs
- TreeChangeInfo.cs
- Switch.cs
- WorkflowPersistenceService.cs
- IPGlobalProperties.cs
- StorageInfo.cs
- Axis.cs
- NameValueFileSectionHandler.cs
- SqlVersion.cs
- RecognitionResult.cs
- UnsafeNativeMethods.cs
- GridViewColumnHeader.cs
- CallTemplateAction.cs
- pingexception.cs
- TransformValueSerializer.cs
- StateFinalizationActivity.cs
- RegexStringValidator.cs
- HighlightComponent.cs
- TCPListener.cs
- WebPartVerbsEventArgs.cs
- UnescapedXmlDiagnosticData.cs
- PropertyGrid.cs
- DbProviderSpecificTypePropertyAttribute.cs
- RegisteredExpandoAttribute.cs
- ColumnCollection.cs
- FileDialog_Vista_Interop.cs
- DataObjectSettingDataEventArgs.cs
- NetSectionGroup.cs
- XmlSchemaAny.cs
- Container.cs
- CellTreeNode.cs
- HiddenField.cs
- BypassElementCollection.cs
- LocatorManager.cs
- SecurityContextSecurityTokenResolver.cs
- ConnectionStringsSection.cs
- TypeExtensions.cs
- PropertyRef.cs
- TailCallAnalyzer.cs
- TableLayoutStyle.cs
- ClientSideProviderDescription.cs
- TrackingStringDictionary.cs
- MsmqIntegrationProcessProtocolHandler.cs
- LayoutExceptionEventArgs.cs
- RegexReplacement.cs
- TextRangeEdit.cs
- UniqueEventHelper.cs
- SpellerStatusTable.cs
- LineBreakRecord.cs
- ByteBufferPool.cs
- DesignerListAdapter.cs
- TypeConverter.cs
- WorkflowStateRollbackService.cs
- BinaryObjectReader.cs
- BoolExpressionVisitors.cs
- IdentityValidationException.cs
- CursorConverter.cs
- Stacktrace.cs
- ContainerControlDesigner.cs