Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / wpf / src / Framework / System / Windows / LostFocusEventManager.cs / 1 / LostFocusEventManager.cs
//---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // Description: Manager for the LostFocus event in the "weak event listener" // pattern. See WeakEventTable.cs for an overview. // //--------------------------------------------------------------------------- using System; using System.Windows; // WeakEventManager using MS.Internal; // Helper namespace System.Windows { ////// Manager for the DependencyObject.LostFocus event. /// public class LostFocusEventManager : WeakEventManager { #region Constructors // // Constructors // private LostFocusEventManager() { } #endregion Constructors #region Public Methods // // Public Methods // ////// Add a listener to the given source's event. /// public static void AddListener(DependencyObject source, IWeakEventListener listener) { CurrentManager.ProtectedAddListener(source, listener); } ////// Remove a listener to the given source's event. /// public static void RemoveListener(DependencyObject 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) { DependencyObject typedSource = (DependencyObject)source; FrameworkElement fe; FrameworkContentElement fce; Helper.DowncastToFEorFCE(typedSource, out fe, out fce, true); if (fe != null) fe.LostFocus += new RoutedEventHandler(OnLostFocus); else if (fce != null) fce.LostFocus += new RoutedEventHandler(OnLostFocus); } ////// Stop listening to the given source for the event. /// protected override void StopListening(object source) { DependencyObject typedSource = (DependencyObject)source; FrameworkElement fe; FrameworkContentElement fce; Helper.DowncastToFEorFCE(typedSource, out fe, out fce, true); if (fe != null) fe.LostFocus -= new RoutedEventHandler(OnLostFocus); else if (fce != null) fce.LostFocus -= new RoutedEventHandler(OnLostFocus); } #endregion Protected Methods #region Private Properties // // Private Properties // // get the event manager for the current thread private static LostFocusEventManager CurrentManager { get { Type managerType = typeof(LostFocusEventManager); LostFocusEventManager manager = (LostFocusEventManager)GetCurrentManager(managerType); // at first use, create and register a new manager if (manager == null) { manager = new LostFocusEventManager(); SetCurrentManager(managerType, manager); } return manager; } } #endregion Private Properties #region Private Methods // // Private Methods // // event handler for LostFocus event private void OnLostFocus(object sender, RoutedEventArgs 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 LostFocus event in the "weak event listener" // pattern. See WeakEventTable.cs for an overview. // //--------------------------------------------------------------------------- using System; using System.Windows; // WeakEventManager using MS.Internal; // Helper namespace System.Windows { ////// Manager for the DependencyObject.LostFocus event. /// public class LostFocusEventManager : WeakEventManager { #region Constructors // // Constructors // private LostFocusEventManager() { } #endregion Constructors #region Public Methods // // Public Methods // ////// Add a listener to the given source's event. /// public static void AddListener(DependencyObject source, IWeakEventListener listener) { CurrentManager.ProtectedAddListener(source, listener); } ////// Remove a listener to the given source's event. /// public static void RemoveListener(DependencyObject 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) { DependencyObject typedSource = (DependencyObject)source; FrameworkElement fe; FrameworkContentElement fce; Helper.DowncastToFEorFCE(typedSource, out fe, out fce, true); if (fe != null) fe.LostFocus += new RoutedEventHandler(OnLostFocus); else if (fce != null) fce.LostFocus += new RoutedEventHandler(OnLostFocus); } ////// Stop listening to the given source for the event. /// protected override void StopListening(object source) { DependencyObject typedSource = (DependencyObject)source; FrameworkElement fe; FrameworkContentElement fce; Helper.DowncastToFEorFCE(typedSource, out fe, out fce, true); if (fe != null) fe.LostFocus -= new RoutedEventHandler(OnLostFocus); else if (fce != null) fce.LostFocus -= new RoutedEventHandler(OnLostFocus); } #endregion Protected Methods #region Private Properties // // Private Properties // // get the event manager for the current thread private static LostFocusEventManager CurrentManager { get { Type managerType = typeof(LostFocusEventManager); LostFocusEventManager manager = (LostFocusEventManager)GetCurrentManager(managerType); // at first use, create and register a new manager if (manager == null) { manager = new LostFocusEventManager(); SetCurrentManager(managerType, manager); } return manager; } } #endregion Private Properties #region Private Methods // // Private Methods // // event handler for LostFocus event private void OnLostFocus(object sender, RoutedEventArgs 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
- BaseDataListDesigner.cs
- DataSourceCache.cs
- BypassElement.cs
- ReverseInheritProperty.cs
- ReservationNotFoundException.cs
- DrawingImage.cs
- Int64KeyFrameCollection.cs
- Rules.cs
- ToolStripContentPanel.cs
- OracleString.cs
- RawStylusInputCustomData.cs
- httpstaticobjectscollection.cs
- FrameworkRichTextComposition.cs
- QueryHandler.cs
- BitmapEffectvisualstate.cs
- SQLInt64Storage.cs
- SuppressIldasmAttribute.cs
- SettingsProviderCollection.cs
- SizeConverter.cs
- WebSysDisplayNameAttribute.cs
- SmiXetterAccessMap.cs
- DefaultPrintController.cs
- SqlServer2KCompatibilityAnnotation.cs
- ThreadExceptionDialog.cs
- GeometryHitTestResult.cs
- CollectionConverter.cs
- Scripts.cs
- ToolboxComponentsCreatingEventArgs.cs
- Msec.cs
- MailMessageEventArgs.cs
- ObjRef.cs
- TableAdapterManagerGenerator.cs
- DesignerActionGlyph.cs
- WebPart.cs
- RepeatBehaviorConverter.cs
- PropertyGridEditorPart.cs
- MetadataPropertyCollection.cs
- RangeValidator.cs
- processwaithandle.cs
- RIPEMD160Managed.cs
- dtdvalidator.cs
- IntegerFacetDescriptionElement.cs
- SoapTransportImporter.cs
- PassportAuthenticationModule.cs
- ObjectDisposedException.cs
- RequiredFieldValidator.cs
- HighlightComponent.cs
- TimeZone.cs
- QilPatternVisitor.cs
- SectionInput.cs
- Point.cs
- LinqDataView.cs
- SerializationEventsCache.cs
- MemoryStream.cs
- EventProperty.cs
- CookieHandler.cs
- EntityDataSourceContainerNameItem.cs
- ColumnResizeAdorner.cs
- BeginCreateSecurityTokenRequest.cs
- mediapermission.cs
- LocalizedNameDescriptionPair.cs
- SchemaAttDef.cs
- mactripleDES.cs
- Utils.cs
- SystemIcmpV4Statistics.cs
- LoginName.cs
- Point4D.cs
- SHA1Cng.cs
- util.cs
- ObjectStateFormatter.cs
- ClientFormsAuthenticationCredentials.cs
- RightNameExpirationInfoPair.cs
- TypefaceMap.cs
- StylusButton.cs
- CookielessHelper.cs
- SwitchElementsCollection.cs
- DefaultBindingPropertyAttribute.cs
- SourceFilter.cs
- HwndSubclass.cs
- SoapElementAttribute.cs
- DiscoveryCallbackBehavior.cs
- RegisteredExpandoAttribute.cs
- cookiecollection.cs
- HttpModuleCollection.cs
- Debug.cs
- _CommandStream.cs
- SpotLight.cs
- DatatypeImplementation.cs
- SafeArrayRankMismatchException.cs
- WindowsFormsLinkLabel.cs
- WindowsPrincipal.cs
- SQLBoolean.cs
- ExpressionBinding.cs
- Brushes.cs
- BooleanAnimationBase.cs
- OutOfMemoryException.cs
- HttpModuleCollection.cs
- BitmapSizeOptions.cs
- ObjectCache.cs
- DataGridColumnEventArgs.cs