Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / wpf / src / Core / CSharp / System / Windows / MouseOverProperty.cs / 1 / MouseOverProperty.cs
using System; using MS.Internal.KnownBoxes; using System.Windows.Input; namespace System.Windows { ///////////////////////////////////////////////////////////////////////// internal class MouseOverProperty : ReverseInheritProperty { ///////////////////////////////////////////////////////////////////// internal MouseOverProperty() : base( UIElement.IsMouseOverPropertyKey, CoreFlags.IsMouseOverCache, CoreFlags.IsMouseOverChanged) { } ///////////////////////////////////////////////////////////////////// internal override void FireNotifications(UIElement uie, ContentElement ce, UIElement3D uie3D, bool oldValue) { // Before we fire the mouse event we need to figure if the notification is still relevant. // This is because it is possible that the mouse state has changed during the previous // property engine callout. Example: Consider a MessageBox being displayed during the // IsMouseOver OnPropertyChanged override. bool shouldFireNotification = false; if (uie != null) { shouldFireNotification = (!oldValue && uie.IsMouseOver) || (oldValue && !uie.IsMouseOver); } else if (ce != null) { shouldFireNotification = (!oldValue && ce.IsMouseOver) || (oldValue && !ce.IsMouseOver); } else if (uie3D != null) { shouldFireNotification = (!oldValue && uie3D.IsMouseOver) || (oldValue && !uie3D.IsMouseOver); } if (shouldFireNotification) { MouseEventArgs mouseEventArgs = new MouseEventArgs(Mouse.PrimaryDevice, Environment.TickCount, Mouse.PrimaryDevice.StylusDevice); mouseEventArgs.RoutedEvent = oldValue ? Mouse.MouseLeaveEvent : Mouse.MouseEnterEvent; if (uie != null) { uie.RaiseEvent(mouseEventArgs); } else if (ce != null) { ce.RaiseEvent(mouseEventArgs); } else if (uie3D != null) { uie3D.RaiseEvent(mouseEventArgs); } } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. using System; using MS.Internal.KnownBoxes; using System.Windows.Input; namespace System.Windows { ///////////////////////////////////////////////////////////////////////// internal class MouseOverProperty : ReverseInheritProperty { ///////////////////////////////////////////////////////////////////// internal MouseOverProperty() : base( UIElement.IsMouseOverPropertyKey, CoreFlags.IsMouseOverCache, CoreFlags.IsMouseOverChanged) { } ///////////////////////////////////////////////////////////////////// internal override void FireNotifications(UIElement uie, ContentElement ce, UIElement3D uie3D, bool oldValue) { // Before we fire the mouse event we need to figure if the notification is still relevant. // This is because it is possible that the mouse state has changed during the previous // property engine callout. Example: Consider a MessageBox being displayed during the // IsMouseOver OnPropertyChanged override. bool shouldFireNotification = false; if (uie != null) { shouldFireNotification = (!oldValue && uie.IsMouseOver) || (oldValue && !uie.IsMouseOver); } else if (ce != null) { shouldFireNotification = (!oldValue && ce.IsMouseOver) || (oldValue && !ce.IsMouseOver); } else if (uie3D != null) { shouldFireNotification = (!oldValue && uie3D.IsMouseOver) || (oldValue && !uie3D.IsMouseOver); } if (shouldFireNotification) { MouseEventArgs mouseEventArgs = new MouseEventArgs(Mouse.PrimaryDevice, Environment.TickCount, Mouse.PrimaryDevice.StylusDevice); mouseEventArgs.RoutedEvent = oldValue ? Mouse.MouseLeaveEvent : Mouse.MouseEnterEvent; if (uie != null) { uie.RaiseEvent(mouseEventArgs); } else if (ce != null) { ce.RaiseEvent(mouseEventArgs); } else if (uie3D != null) { uie3D.RaiseEvent(mouseEventArgs); } } } } } // 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
- WindowsStartMenu.cs
- ToolStripLocationCancelEventArgs.cs
- Nullable.cs
- SocketException.cs
- UserPreferenceChangedEventArgs.cs
- EmbeddedMailObjectsCollection.cs
- WaitHandleCannotBeOpenedException.cs
- ColorBlend.cs
- SHA384Managed.cs
- MsmqMessageSerializationFormat.cs
- GraphicsContainer.cs
- EntityStoreSchemaGenerator.cs
- ControlType.cs
- PageTheme.cs
- RepeatButton.cs
- NativeMethods.cs
- MarshalByRefObject.cs
- ProfessionalColors.cs
- SqlBuilder.cs
- TextDecorationCollectionConverter.cs
- AttachmentService.cs
- MethodBuilder.cs
- RewritingSimplifier.cs
- AttachInfo.cs
- Registry.cs
- XslTransformFileEditor.cs
- Faults.cs
- Logging.cs
- PerfCounters.cs
- ValidatorCollection.cs
- LowerCaseStringConverter.cs
- BooleanKeyFrameCollection.cs
- Brush.cs
- WCFBuildProvider.cs
- VectorKeyFrameCollection.cs
- SoapMessage.cs
- ToolStripItemDesigner.cs
- InputMethodStateTypeInfo.cs
- DataGridDefaultColumnWidthTypeConverter.cs
- DbLambda.cs
- RemotingAttributes.cs
- VScrollBar.cs
- SqlXml.cs
- SQLCharsStorage.cs
- HScrollBar.cs
- SpnegoTokenProvider.cs
- TimerElapsedEvenArgs.cs
- DispatcherSynchronizationContext.cs
- ZipIORawDataFileBlock.cs
- ThreadAttributes.cs
- JoinCqlBlock.cs
- PageContentAsyncResult.cs
- BitmapEffectGeneralTransform.cs
- ExclusiveCanonicalizationTransform.cs
- Rules.cs
- BuildResultCache.cs
- EntitySetBase.cs
- CompilerWrapper.cs
- Stopwatch.cs
- StrongNameHelpers.cs
- SafeNativeMethods.cs
- TypedElement.cs
- DateTimeFormatInfo.cs
- HtmlCalendarAdapter.cs
- InternalBufferManager.cs
- SymbolDocumentInfo.cs
- RemotingAttributes.cs
- CallbackValidator.cs
- DataServiceQueryException.cs
- HttpConfigurationSystem.cs
- CodeDelegateCreateExpression.cs
- IdentityModelDictionary.cs
- InputScopeConverter.cs
- ObjectToIdCache.cs
- StatusBarPanelClickEvent.cs
- SiteMembershipCondition.cs
- FileNameEditor.cs
- TextPointer.cs
- FeatureManager.cs
- StringAnimationUsingKeyFrames.cs
- AnnouncementEventArgs.cs
- XmlQualifiedNameTest.cs
- HttpCookie.cs
- SqlDataReader.cs
- SystemWebCachingSectionGroup.cs
- HttpRuntimeSection.cs
- TakeQueryOptionExpression.cs
- ISO2022Encoding.cs
- ErrorRuntimeConfig.cs
- WorkflowApplicationCompletedEventArgs.cs
- EventSourceCreationData.cs
- ZipFileInfo.cs
- NaturalLanguageHyphenator.cs
- SQLByte.cs
- BoundingRectTracker.cs
- ConditionCollection.cs
- IgnoreFlushAndCloseStream.cs
- LocalValueEnumerator.cs
- SubpageParaClient.cs
- InvokeSchedule.cs