Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- WindowsTreeView.cs
- EdmError.cs
- MatrixUtil.cs
- SqlStatistics.cs
- QuestionEventArgs.cs
- BaseProcessor.cs
- DataControlFieldCell.cs
- TcpChannelFactory.cs
- NotConverter.cs
- TypeReference.cs
- PeerPresenceInfo.cs
- ScrollBarRenderer.cs
- GregorianCalendar.cs
- SplashScreen.cs
- StringStorage.cs
- IsolatedStorageFileStream.cs
- DataGridViewLinkCell.cs
- SerializationBinder.cs
- RequestTimeoutManager.cs
- CursorConverter.cs
- MaskDescriptors.cs
- PassportAuthenticationEventArgs.cs
- PassportPrincipal.cs
- ExpressionBindingCollection.cs
- PageThemeParser.cs
- ListViewCommandEventArgs.cs
- SqlUdtInfo.cs
- MachineKeyValidationConverter.cs
- SourceFileInfo.cs
- DependencyObjectValidator.cs
- CallSiteHelpers.cs
- InterleavedZipPartStream.cs
- UIElementPropertyUndoUnit.cs
- SpellerHighlightLayer.cs
- SchemaTypeEmitter.cs
- HttpException.cs
- Column.cs
- ObjectNotFoundException.cs
- RequestContext.cs
- DateBoldEvent.cs
- NavigationWindow.cs
- LinqDataSourceUpdateEventArgs.cs
- HtmlAnchor.cs
- _UriTypeConverter.cs
- SessionStateContainer.cs
- SourceLocation.cs
- TripleDESCryptoServiceProvider.cs
- StylusPoint.cs
- DebugView.cs
- HtmlWindow.cs
- EventListenerClientSide.cs
- WindowsStartMenu.cs
- ExpressionVisitor.cs
- PersistenceProvider.cs
- StorageTypeMapping.cs
- NativeMethods.cs
- ScriptBehaviorDescriptor.cs
- FloaterBaseParagraph.cs
- WebResourceAttribute.cs
- httpstaticobjectscollection.cs
- MexTcpBindingCollectionElement.cs
- GridViewColumnHeader.cs
- ConfigXmlSignificantWhitespace.cs
- Stroke2.cs
- WebPartEditorApplyVerb.cs
- ScrollViewerAutomationPeer.cs
- XomlCompilerParameters.cs
- EllipticalNodeOperations.cs
- SvcMapFileSerializer.cs
- ToolZoneDesigner.cs
- AutoResetEvent.cs
- CheckBoxAutomationPeer.cs
- MeshGeometry3D.cs
- LinearGradientBrush.cs
- VScrollBar.cs
- FocusChangedEventArgs.cs
- BitmapEffectrendercontext.cs
- URL.cs
- ComponentManagerBroker.cs
- LocalizationCodeDomSerializer.cs
- DataPagerFieldCollection.cs
- NotImplementedException.cs
- SoapCommonClasses.cs
- ValueSerializer.cs
- TextTreeObjectNode.cs
- MethodAccessException.cs
- TransformationRules.cs
- SoundPlayer.cs
- ActivationArguments.cs
- DtdParser.cs
- DependencyProperty.cs
- basenumberconverter.cs
- _FixedSizeReader.cs
- SmtpTransport.cs
- ConfigurationSectionCollection.cs
- BufferModeSettings.cs
- CodeArrayIndexerExpression.cs
- DesignTimeTemplateParser.cs
- CatalogPart.cs
- XpsImage.cs