Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- DebugHandleTracker.cs
- SecurityTokenAuthenticator.cs
- CodeSubDirectory.cs
- SystemColors.cs
- EdmEntityTypeAttribute.cs
- WebServiceResponseDesigner.cs
- JoinTreeSlot.cs
- SurrogateEncoder.cs
- ImageMap.cs
- XmlDownloadManager.cs
- FixedSOMTableCell.cs
- DataGridTableCollection.cs
- DesignerOptionService.cs
- MSAANativeProvider.cs
- ModifiableIteratorCollection.cs
- StringComparer.cs
- __ConsoleStream.cs
- RealizedColumnsBlock.cs
- XmlSerializerVersionAttribute.cs
- NoneExcludedImageIndexConverter.cs
- SqlAggregateChecker.cs
- XamlBuildTaskServices.cs
- LinkButton.cs
- HttpResponseHeader.cs
- BitmapEffectGeneralTransform.cs
- StringUtil.cs
- StyleSelector.cs
- UnsafeNativeMethods.cs
- HtmlPhoneCallAdapter.cs
- Propagator.Evaluator.cs
- NameSpaceExtractor.cs
- NetSectionGroup.cs
- HostExecutionContextManager.cs
- OneOfTypeConst.cs
- BamlRecordReader.cs
- RegexMatch.cs
- Matrix3D.cs
- coordinator.cs
- InputLanguageSource.cs
- Helper.cs
- Object.cs
- ConsumerConnectionPoint.cs
- ContentOnlyMessage.cs
- EditorPart.cs
- XmlQualifiedNameTest.cs
- RetrieveVirtualItemEventArgs.cs
- SkipStoryboardToFill.cs
- ClientRuntimeConfig.cs
- Command.cs
- OdbcDataAdapter.cs
- CompoundFileStorageReference.cs
- TemplateControlCodeDomTreeGenerator.cs
- shaperfactory.cs
- DBCSCodePageEncoding.cs
- ScrollEvent.cs
- ImmComposition.cs
- ExtensionFile.cs
- ImageField.cs
- FlowDocumentView.cs
- CustomAttributeFormatException.cs
- Mappings.cs
- DataGridViewCellCancelEventArgs.cs
- RangeValidator.cs
- Point3D.cs
- Membership.cs
- Column.cs
- GridViewRowEventArgs.cs
- Encoder.cs
- SinglePageViewer.cs
- InputLangChangeEvent.cs
- AssociatedControlConverter.cs
- Vector3DAnimationUsingKeyFrames.cs
- ButtonFlatAdapter.cs
- StickyNote.cs
- SqlReorderer.cs
- DataBindingCollectionConverter.cs
- MsmqTransportSecurity.cs
- AndCondition.cs
- HttpApplication.cs
- DragEvent.cs
- ScriptHandlerFactory.cs
- Activator.cs
- _FixedSizeReader.cs
- DeclarativeCatalogPart.cs
- MSAAWinEventWrap.cs
- SmiMetaData.cs
- DataTable.cs
- TextFormatter.cs
- EUCJPEncoding.cs
- AvTraceFormat.cs
- DbDataAdapter.cs
- DispatcherObject.cs
- IdnElement.cs
- sqlnorm.cs
- FullTrustAssembly.cs
- Assert.cs
- CharStorage.cs
- ResponseStream.cs
- OracleParameter.cs
- BamlResourceDeserializer.cs