Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / 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
- DbModificationCommandTree.cs
- WebContext.cs
- Semaphore.cs
- BinaryWriter.cs
- CalendarDateRange.cs
- FrameDimension.cs
- CodeTypeParameterCollection.cs
- SolidBrush.cs
- StylusEventArgs.cs
- CodeMemberProperty.cs
- MatrixCamera.cs
- TryExpression.cs
- IPAddressCollection.cs
- GroupPartitionExpr.cs
- PeerDefaultCustomResolverClient.cs
- DataSourceControl.cs
- ObjectCache.cs
- EnumMember.cs
- ResourceReferenceExpression.cs
- BoolLiteral.cs
- GridViewRowPresenterBase.cs
- Timer.cs
- SqlUDTStorage.cs
- TdsParameterSetter.cs
- RawStylusInputCustomData.cs
- RectConverter.cs
- LinqDataSourceInsertEventArgs.cs
- WorkflowRuntimeService.cs
- EventLevel.cs
- ImageCodecInfo.cs
- SoapElementAttribute.cs
- Overlapped.cs
- FunctionNode.cs
- IxmlLineInfo.cs
- FileRecordSequenceCompletedAsyncResult.cs
- GeneralTransform.cs
- FixedTextPointer.cs
- DbDeleteCommandTree.cs
- CompilerError.cs
- _Semaphore.cs
- ECDiffieHellmanPublicKey.cs
- DataControlReference.cs
- ToolBarButtonClickEvent.cs
- MachineKeyConverter.cs
- SEHException.cs
- CreateUserWizard.cs
- PropertyInformationCollection.cs
- WindowsIdentity.cs
- CodeCatchClauseCollection.cs
- PageAdapter.cs
- QueueTransferProtocol.cs
- PrimitiveRenderer.cs
- ImageMap.cs
- StorageScalarPropertyMapping.cs
- GeneralTransformGroup.cs
- MainMenu.cs
- FixedTextContainer.cs
- SlotInfo.cs
- ChangeNode.cs
- VisualBasicExpressionConverter.cs
- BindingCompleteEventArgs.cs
- SmtpSection.cs
- SessionState.cs
- DomNameTable.cs
- ObjectNavigationPropertyMapping.cs
- InteropTrackingRecord.cs
- BufferModeSettings.cs
- BooleanFunctions.cs
- RuleAttributes.cs
- PublisherMembershipCondition.cs
- SmiMetaDataProperty.cs
- DecimalConverter.cs
- ListItemViewControl.cs
- ClockController.cs
- Timer.cs
- GradientStop.cs
- SqlTypeSystemProvider.cs
- DataSourceExpressionCollection.cs
- Latin1Encoding.cs
- ObjectItemCollection.cs
- OdbcPermission.cs
- ConfigXmlSignificantWhitespace.cs
- AutomationPatternInfo.cs
- MyContact.cs
- VisualStates.cs
- UnSafeCharBuffer.cs
- SqlTriggerAttribute.cs
- ModuleBuilderData.cs
- OutputScope.cs
- PaperSource.cs
- LayoutUtils.cs
- ManipulationStartedEventArgs.cs
- StreamAsIStream.cs
- HtmlTable.cs
- isolationinterop.cs
- MenuItemAutomationPeer.cs
- HttpBufferlessInputStream.cs
- SecureUICommand.cs
- DataGridViewSortCompareEventArgs.cs
- WebDisplayNameAttribute.cs