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
- Propagator.ExtentPlaceholderCreator.cs
- DynamicPropertyHolder.cs
- ModifierKeysConverter.cs
- ToolStripLabel.cs
- DataPagerFieldItem.cs
- WindowsSspiNegotiation.cs
- DataView.cs
- RemoveStoryboard.cs
- TrustSection.cs
- JsonWriterDelegator.cs
- BamlTreeUpdater.cs
- DataSourceSelectArguments.cs
- CustomAttributeSerializer.cs
- SubtreeProcessor.cs
- Constants.cs
- Resources.Designer.cs
- CompressedStack.cs
- ScriptManager.cs
- SapiRecoContext.cs
- QuerySelectOp.cs
- GcHandle.cs
- GetLedgerEntryForRecipientRequest.cs
- SoapIgnoreAttribute.cs
- CompilerErrorCollection.cs
- LineGeometry.cs
- ScalarOps.cs
- InputQueue.cs
- ReadonlyMessageFilter.cs
- SqlConnectionString.cs
- TdsParameterSetter.cs
- Identifier.cs
- XmlSchemaNotation.cs
- ActivityFunc.cs
- SignatureDescription.cs
- DataGridItemCollection.cs
- SafeMarshalContext.cs
- WebPartMenuStyle.cs
- RSAPKCS1SignatureFormatter.cs
- FontFamilyIdentifier.cs
- FormsAuthenticationTicket.cs
- RootAction.cs
- SubMenuStyleCollection.cs
- RequestTimeoutManager.cs
- CqlIdentifiers.cs
- SecurityCookieModeValidator.cs
- ControlEvent.cs
- DrawingBrush.cs
- KernelTypeValidation.cs
- WebPartCatalogCloseVerb.cs
- KeyValueSerializer.cs
- EncoderBestFitFallback.cs
- HttpDictionary.cs
- XmlCharacterData.cs
- COMException.cs
- Soap.cs
- ConsumerConnectionPoint.cs
- WmiEventSink.cs
- ObjectDataSourceDisposingEventArgs.cs
- WaitForChangedResult.cs
- RewritingValidator.cs
- WindowsStreamSecurityUpgradeProvider.cs
- StructuralCache.cs
- COM2ExtendedBrowsingHandler.cs
- ConstructorNeedsTagAttribute.cs
- GroupBoxRenderer.cs
- CurrentTimeZone.cs
- TreeViewBindingsEditor.cs
- OleDbSchemaGuid.cs
- BorderGapMaskConverter.cs
- ISCIIEncoding.cs
- MissingManifestResourceException.cs
- PackageDigitalSignature.cs
- Section.cs
- XsltArgumentList.cs
- DataBindingsDialog.cs
- ChangeBlockUndoRecord.cs
- HistoryEventArgs.cs
- TogglePattern.cs
- CommonRemoteMemoryBlock.cs
- ClientRuntimeConfig.cs
- XmlSchemaAny.cs
- EntityDataSourceReferenceGroup.cs
- XPathNodeIterator.cs
- Attributes.cs
- UnrecognizedAssertionsBindingElement.cs
- CommunicationObjectManager.cs
- ConnectionPointGlyph.cs
- PngBitmapDecoder.cs
- util.cs
- StringArrayConverter.cs
- Point3DCollection.cs
- X509SecurityTokenAuthenticator.cs
- GorillaCodec.cs
- MasterPageParser.cs
- PropertyTab.cs
- SocketCache.cs
- MenuItemCollection.cs
- PlainXmlWriter.cs
- RedBlackList.cs
- IisTraceListener.cs