Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- NavigatorInput.cs
- XmlSignatureProperties.cs
- FlowLayoutPanelDesigner.cs
- XmlNamedNodeMap.cs
- DataRowExtensions.cs
- WebProxyScriptElement.cs
- StubHelpers.cs
- DesignerActionTextItem.cs
- FontConverter.cs
- ResourceDictionary.cs
- EditCommandColumn.cs
- ReadOnlyDataSource.cs
- GacUtil.cs
- MdiWindowListItemConverter.cs
- RouteValueExpressionBuilder.cs
- HtmlToClrEventProxy.cs
- QueryStringParameter.cs
- FontInfo.cs
- SchemaObjectWriter.cs
- LoadGrammarCompletedEventArgs.cs
- EndpointPerformanceCounters.cs
- EmbeddedObject.cs
- DataTableCollection.cs
- ScaleTransform3D.cs
- AppDomainFactory.cs
- OptimizedTemplateContent.cs
- sapiproxy.cs
- DefaultAssemblyResolver.cs
- InputReferenceExpression.cs
- SQLGuidStorage.cs
- OneToOneMappingSerializer.cs
- WmlCommandAdapter.cs
- FontStretches.cs
- UnmanagedMemoryAccessor.cs
- CharUnicodeInfo.cs
- DbXmlEnabledProviderManifest.cs
- WindowsGraphics.cs
- RelationshipEnd.cs
- UIElementIsland.cs
- FragmentQueryKB.cs
- Duration.cs
- UnsupportedPolicyOptionsException.cs
- CachedCompositeFamily.cs
- UiaCoreApi.cs
- TrustManagerMoreInformation.cs
- MethodBody.cs
- TextCollapsingProperties.cs
- LinqDataSource.cs
- EastAsianLunisolarCalendar.cs
- DispatcherSynchronizationContext.cs
- DataGridTextBoxColumn.cs
- UpdateDelegates.Generated.cs
- SingleKeyFrameCollection.cs
- BinaryCommonClasses.cs
- Brushes.cs
- XmlReflectionMember.cs
- MulticastDelegate.cs
- HMACMD5.cs
- SqlInfoMessageEvent.cs
- CompositionCommandSet.cs
- DataControlField.cs
- MethodBody.cs
- OleDbConnectionFactory.cs
- CodeDOMUtility.cs
- ErrorFormatterPage.cs
- TaskHelper.cs
- XmlChildEnumerator.cs
- ISSmlParser.cs
- TextEditorThreadLocalStore.cs
- TableItemStyle.cs
- StorageModelBuildProvider.cs
- XPathException.cs
- TranslateTransform.cs
- XmlElementAttributes.cs
- ProtocolElement.cs
- followingsibling.cs
- IgnoreFlushAndCloseStream.cs
- ImageKeyConverter.cs
- XmlJsonWriter.cs
- TrustManager.cs
- TcpConnectionPoolSettings.cs
- CheckBoxFlatAdapter.cs
- WhitespaceRuleLookup.cs
- ISAPIRuntime.cs
- DeadCharTextComposition.cs
- UnsafeNativeMethods.cs
- StreamBodyWriter.cs
- PostBackOptions.cs
- RoutedEvent.cs
- ExtensionQuery.cs
- RIPEMD160Managed.cs
- XPathMessageFilterElement.cs
- EventProvider.cs
- ArgumentException.cs
- ContextMenuAutomationPeer.cs
- TdsParserStaticMethods.cs
- Int16Storage.cs
- FileDialog.cs
- RemotingConfigParser.cs
- EntitySqlQueryCacheEntry.cs