Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / wpf / src / Base / System / ComponentModel / CurrentChangedEventManager.cs / 1 / CurrentChangedEventManager.cs
//----------------------------------------------------------------------------
//
//
// Copyright (C) Microsoft Corporation. All rights reserved.
//
//
// Description: Manager for the CurrentChanged event in the "weak event listener"
// pattern. See WeakEventTable.cs for an overview.
//
//---------------------------------------------------------------------------
using System;
using System.Windows; // WeakEventManager
namespace System.ComponentModel
{
///
/// Manager for the ICollectionView.CurrentChanged event.
///
public class CurrentChangedEventManager : WeakEventManager
{
#region Constructors
//
// Constructors
//
private CurrentChangedEventManager()
{
}
#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.CurrentChanged += new EventHandler(OnCurrentChanged);
}
///
/// Stop listening to the given source for the event.
///
protected override void StopListening(object source)
{
ICollectionView typedSource = (ICollectionView)source;
typedSource.CurrentChanged -= new EventHandler(OnCurrentChanged);
}
#endregion Protected Methods
#region Private Properties
//
// Private Properties
//
// get the event manager for the current thread
private static CurrentChangedEventManager CurrentManager
{
get
{
Type managerType = typeof(CurrentChangedEventManager);
CurrentChangedEventManager manager = (CurrentChangedEventManager)GetCurrentManager(managerType);
// at first use, create and register a new manager
if (manager == null)
{
manager = new CurrentChangedEventManager();
SetCurrentManager(managerType, manager);
}
return manager;
}
}
#endregion Private Properties
#region Private Methods
//
// Private Methods
//
// event handler for CurrentChanged event
private void OnCurrentChanged(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.
//----------------------------------------------------------------------------
//
//
// Copyright (C) Microsoft Corporation. All rights reserved.
//
//
// Description: Manager for the CurrentChanged event in the "weak event listener"
// pattern. See WeakEventTable.cs for an overview.
//
//---------------------------------------------------------------------------
using System;
using System.Windows; // WeakEventManager
namespace System.ComponentModel
{
///
/// Manager for the ICollectionView.CurrentChanged event.
///
public class CurrentChangedEventManager : WeakEventManager
{
#region Constructors
//
// Constructors
//
private CurrentChangedEventManager()
{
}
#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.CurrentChanged += new EventHandler(OnCurrentChanged);
}
///
/// Stop listening to the given source for the event.
///
protected override void StopListening(object source)
{
ICollectionView typedSource = (ICollectionView)source;
typedSource.CurrentChanged -= new EventHandler(OnCurrentChanged);
}
#endregion Protected Methods
#region Private Properties
//
// Private Properties
//
// get the event manager for the current thread
private static CurrentChangedEventManager CurrentManager
{
get
{
Type managerType = typeof(CurrentChangedEventManager);
CurrentChangedEventManager manager = (CurrentChangedEventManager)GetCurrentManager(managerType);
// at first use, create and register a new manager
if (manager == null)
{
manager = new CurrentChangedEventManager();
SetCurrentManager(managerType, manager);
}
return manager;
}
}
#endregion Private Properties
#region Private Methods
//
// Private Methods
//
// event handler for CurrentChanged event
private void OnCurrentChanged(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
- WeakReference.cs
- XmlILCommand.cs
- PropertyGroupDescription.cs
- ListViewInsertEventArgs.cs
- DataConnectionHelper.cs
- AutoResizedEvent.cs
- FixedSOMContainer.cs
- FileNameEditor.cs
- RegexStringValidator.cs
- BindingBase.cs
- AnnotationComponentChooser.cs
- HttpStreamXmlDictionaryReader.cs
- DynamicDataExtensions.cs
- BaseCAMarshaler.cs
- ObjectRef.cs
- TreeNode.cs
- SamlEvidence.cs
- Environment.cs
- GeometryDrawing.cs
- _RequestCacheProtocol.cs
- BatchServiceHost.cs
- EventLogQuery.cs
- ScriptRegistrationManager.cs
- Int16AnimationBase.cs
- XmlSerializerAssemblyAttribute.cs
- SimpleTableProvider.cs
- PrimitiveXmlSerializers.cs
- TimeSpanMinutesOrInfiniteConverter.cs
- ContentPresenter.cs
- StyleXamlTreeBuilder.cs
- ProfileInfo.cs
- SqlVersion.cs
- BooleanExpr.cs
- ChannelServices.cs
- CodeAssignStatement.cs
- DataSvcMapFile.cs
- SyndicationElementExtensionCollection.cs
- RequestSecurityTokenResponseCollection.cs
- Viewport3DAutomationPeer.cs
- HwndHostAutomationPeer.cs
- SessionStateModule.cs
- WindowsContainer.cs
- BitmapSizeOptions.cs
- ListViewCancelEventArgs.cs
- RowCache.cs
- SapiRecoInterop.cs
- AlternateViewCollection.cs
- ConfigXmlText.cs
- ScrollEvent.cs
- ControlDesigner.cs
- HttpsHostedTransportConfiguration.cs
- SponsorHelper.cs
- XmlExpressionDumper.cs
- XmlChoiceIdentifierAttribute.cs
- ItemTypeToolStripMenuItem.cs
- X500Name.cs
- ImageButton.cs
- MethodBuilderInstantiation.cs
- DetailsViewPagerRow.cs
- TemplateControlBuildProvider.cs
- DataGridLengthConverter.cs
- SqlDataSourceCommandParser.cs
- TTSVoice.cs
- UserControlParser.cs
- ClientSession.cs
- TableLayoutPanel.cs
- WindowsSecurityToken.cs
- Quad.cs
- Keyboard.cs
- DecimalConstantAttribute.cs
- SearchForVirtualItemEventArgs.cs
- XmlCharCheckingReader.cs
- _AcceptOverlappedAsyncResult.cs
- TextMarkerSource.cs
- WorkflowDesigner.cs
- _NtlmClient.cs
- RelatedImageListAttribute.cs
- FilteredXmlReader.cs
- HttpException.cs
- CLRBindingWorker.cs
- XmlArrayAttribute.cs
- ExtentCqlBlock.cs
- PersonalizationProviderCollection.cs
- ReferentialConstraint.cs
- BamlTreeNode.cs
- webclient.cs
- CoTaskMemHandle.cs
- WebHttpElement.cs
- GridViewSelectEventArgs.cs
- FamilyTypefaceCollection.cs
- PackageRelationship.cs
- MasterPageBuildProvider.cs
- CollectionView.cs
- InvalidCastException.cs
- WebPartCancelEventArgs.cs
- MultiTargetingUtil.cs
- TdsParser.cs
- FacetDescription.cs
- UnsafeCollabNativeMethods.cs
- x509utils.cs