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
- XmlSchemaImport.cs
- SqlBulkCopyColumnMapping.cs
- CommandValueSerializer.cs
- StorageSetMapping.cs
- DataServiceProcessingPipeline.cs
- ConsumerConnectionPoint.cs
- SamlNameIdentifierClaimResource.cs
- ServerValidateEventArgs.cs
- BitmapEffectGroup.cs
- PerformanceCounterPermissionEntry.cs
- TeredoHelper.cs
- DictionaryEntry.cs
- PerformanceCounters.cs
- DocumentSequence.cs
- BitmapInitialize.cs
- SQLDateTimeStorage.cs
- RelatedCurrencyManager.cs
- WebColorConverter.cs
- FolderBrowserDialogDesigner.cs
- EntityDesignerUtils.cs
- NodeCounter.cs
- RangeValidator.cs
- BuildManager.cs
- DrawingCollection.cs
- VectorAnimationBase.cs
- DoubleUtil.cs
- FilteredAttributeCollection.cs
- ContentOperations.cs
- WebPartHeaderCloseVerb.cs
- Byte.cs
- WorkflowMarkupSerializer.cs
- documentsequencetextpointer.cs
- PropertyGridEditorPart.cs
- DbInsertCommandTree.cs
- AppDomainAttributes.cs
- DataGridViewDataConnection.cs
- Errors.cs
- ValueCollectionParameterReader.cs
- DbSource.cs
- TextTreeTextBlock.cs
- MonthCalendar.cs
- SessionEndedEventArgs.cs
- FrameAutomationPeer.cs
- TextServicesCompartment.cs
- TextTreeExtractElementUndoUnit.cs
- OutOfProcStateClientManager.cs
- Math.cs
- SystemColors.cs
- OptimalBreakSession.cs
- EventItfInfo.cs
- SimpleLine.cs
- HTMLTagNameToTypeMapper.cs
- RegexMatchCollection.cs
- NaturalLanguageHyphenator.cs
- ContentDisposition.cs
- SafeEventHandle.cs
- NameValueFileSectionHandler.cs
- PerfCounterSection.cs
- WebBrowserProgressChangedEventHandler.cs
- ColorContext.cs
- PipeSecurity.cs
- CroppedBitmap.cs
- GenericWebPart.cs
- Enlistment.cs
- BamlResourceDeserializer.cs
- TableCellCollection.cs
- DataGridViewAutoSizeColumnsModeEventArgs.cs
- Win32.cs
- RoutedEventArgs.cs
- PropertyValidationContext.cs
- StringDictionaryWithComparer.cs
- selecteditemcollection.cs
- Baml2006KnownTypes.cs
- XmlDictionaryWriter.cs
- OdbcUtils.cs
- TraceHandlerErrorFormatter.cs
- DefaultMemberAttribute.cs
- PropVariant.cs
- InternalException.cs
- FaultPropagationQuery.cs
- StylusCollection.cs
- ItemCollection.cs
- EpmSyndicationContentDeSerializer.cs
- CssTextWriter.cs
- StructuralObject.cs
- SafeHandle.cs
- TextTreeInsertElementUndoUnit.cs
- GraphicsState.cs
- TraceUtility.cs
- Compiler.cs
- ValueSerializer.cs
- RepeaterItemEventArgs.cs
- ListViewPagedDataSource.cs
- XmlIlTypeHelper.cs
- _DomainName.cs
- DataException.cs
- CheckableControlBaseAdapter.cs
- BaseCollection.cs
- RegexWorker.cs
- LabelLiteral.cs