Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Core / System / Windows / RoutedEventHandlerInfo.cs / 1 / RoutedEventHandlerInfo.cs
using System; namespace System.Windows { ////// Container for handler instance and other /// invocation preferences for this handler /// instance /// ////// RoutedEventHandlerInfo constitutes the /// handler instance and flag that indicates if /// or not this handler must be invoked for /// already handled events //CASRemoval:[StrongNameIdentityPermission(SecurityAction.LinkDemand, PublicKey = Microsoft.Internal.BuildInfo.WCP_PUBLIC_KEY_STRING)] public struct RoutedEventHandlerInfo { #region Construction ////// /// /// This class needs to be public because it is /// used by ContentElement in the Framework /// to store Instance EventHandlers /// /// Construtor for RoutedEventHandlerInfo /// /// /// Non-null handler /// /// /// Flag that indicates if or not the handler must /// be invoked for already handled events /// internal RoutedEventHandlerInfo(Delegate handler, bool handledEventsToo) { _handler = handler; _handledEventsToo = handledEventsToo; } #endregion Construction #region Operations ////// Returns associated handler instance /// public Delegate Handler { get {return _handler;} } ////// Returns HandledEventsToo Flag /// public bool InvokeHandledEventsToo { get {return _handledEventsToo;} } // Invokes handler instance as per specified // invocation preferences internal void InvokeHandler(object target, RoutedEventArgs routedEventArgs) { if ((routedEventArgs.Handled == false) || (_handledEventsToo == true)) { if (_handler is RoutedEventHandler) { // Generic RoutedEventHandler is called directly here since // we don't need the InvokeEventHandler override to cast to // the proper type - we know what it is. ((RoutedEventHandler)_handler)(target, routedEventArgs); } else { // NOTE: Cannot call protected method InvokeEventHandler directly routedEventArgs.InvokeHandler(_handler, target); } } } ////// Is the given object equivalent to the current one /// public override bool Equals(object obj) { if (obj == null || !(obj is RoutedEventHandlerInfo)) return false; return Equals((RoutedEventHandlerInfo)obj); } ////// Is the given RoutedEventHandlerInfo equals the current /// public bool Equals(RoutedEventHandlerInfo handlerInfo) { return _handler == handlerInfo._handler && _handledEventsToo == handlerInfo._handledEventsToo; } ////// Serves as a hash function for a particular type, suitable for use in /// hashing algorithms and data structures like a hash table /// public override int GetHashCode() { return base.GetHashCode(); } ////// Equals operator overload /// public static bool operator== (RoutedEventHandlerInfo handlerInfo1, RoutedEventHandlerInfo handlerInfo2) { return handlerInfo1.Equals(handlerInfo2); } ////// NotEquals operator overload /// public static bool operator!= (RoutedEventHandlerInfo handlerInfo1, RoutedEventHandlerInfo handlerInfo2) { return !handlerInfo1.Equals(handlerInfo2); } ////// Cleanup all the references within the data /// /* Commented out to avoid "uncalled private code" fxcop violation internal void Clear() { _handler = null; _handledEventsToo = false; } */ #endregion Operations #region Data private Delegate _handler; private bool _handledEventsToo; #endregion Data } } // 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
- Bidi.cs
- Attributes.cs
- BitmapEffectGroup.cs
- MessageBox.cs
- ClientConfigurationHost.cs
- UrlMapping.cs
- PropertyManager.cs
- InfoCardRSAOAEPKeyExchangeFormatter.cs
- TextSpanModifier.cs
- FormsAuthenticationConfiguration.cs
- BamlLocalizableResource.cs
- GenericsNotImplementedException.cs
- TypeResolver.cs
- OleDbConnectionPoolGroupProviderInfo.cs
- InputReport.cs
- EmptyEnumerator.cs
- XmlTextReaderImplHelpers.cs
- ObjectFullSpanRewriter.cs
- SupportsPreviewControlAttribute.cs
- TextBoxAutoCompleteSourceConverter.cs
- XmlIncludeAttribute.cs
- WhitespaceRule.cs
- NonSerializedAttribute.cs
- MDIClient.cs
- BrushValueSerializer.cs
- FloaterParagraph.cs
- CacheOutputQuery.cs
- RowUpdatedEventArgs.cs
- CodePropertyReferenceExpression.cs
- RemoveStoryboard.cs
- SmiContext.cs
- DeclarationUpdate.cs
- Geometry.cs
- DataGridHeaderBorder.cs
- DurableOperationAttribute.cs
- FrameworkReadOnlyPropertyMetadata.cs
- BinaryObjectWriter.cs
- XmlDataContract.cs
- SHA1.cs
- RoleManagerSection.cs
- Path.cs
- TrackingWorkflowEventArgs.cs
- ConnectionStringSettingsCollection.cs
- EnumValAlphaComparer.cs
- Vector3dCollection.cs
- TextRenderer.cs
- XmlQualifiedNameTest.cs
- Solver.cs
- TextSelectionProcessor.cs
- NeutralResourcesLanguageAttribute.cs
- SourceFileBuildProvider.cs
- ConfigUtil.cs
- WebPartConnectionsCloseVerb.cs
- ImmComposition.cs
- ExpandedProjectionNode.cs
- datacache.cs
- AsymmetricKeyExchangeDeformatter.cs
- FixedSOMLineCollection.cs
- IpcChannelHelper.cs
- ToolboxComponentsCreatedEventArgs.cs
- UnauthorizedAccessException.cs
- SqlMethods.cs
- DataSourceProvider.cs
- DataSourceHelper.cs
- PenThreadWorker.cs
- BamlTreeMap.cs
- DbConnectionFactory.cs
- XamlReader.cs
- ReadOnlyPermissionSet.cs
- Speller.cs
- ArgumentValueSerializer.cs
- XamlStream.cs
- ActivityDesigner.cs
- TypeNameConverter.cs
- SqlFlattener.cs
- ValidatedControlConverter.cs
- PrePostDescendentsWalker.cs
- XmlWellformedWriterHelpers.cs
- SafeRightsManagementQueryHandle.cs
- EntityDescriptor.cs
- DateTimeOffsetConverter.cs
- MapPathBasedVirtualPathProvider.cs
- COM2TypeInfoProcessor.cs
- RowCache.cs
- HistoryEventArgs.cs
- ConsoleKeyInfo.cs
- ObjectPropertyMapping.cs
- XmlSchemaExternal.cs
- RulePatternOps.cs
- TargetConverter.cs
- TreeBuilderXamlTranslator.cs
- LocalizabilityAttribute.cs
- WebPartChrome.cs
- _NTAuthentication.cs
- CharEntityEncoderFallback.cs
- StateInitializationDesigner.cs
- SQLDateTime.cs
- MissingMemberException.cs
- HwndStylusInputProvider.cs
- View.cs