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
- ServiceDescriptionReflector.cs
- NavigationHelper.cs
- TextProperties.cs
- QilBinary.cs
- MessageDecoder.cs
- ChannelSinkStacks.cs
- ListBoxItemWrapperAutomationPeer.cs
- SmtpCommands.cs
- ObjectContext.cs
- ParagraphResult.cs
- ListViewAutomationPeer.cs
- BitmapMetadata.cs
- GeometryDrawing.cs
- TypeTypeConverter.cs
- PeerNameRecord.cs
- StringFormat.cs
- EventLog.cs
- ValueCollectionParameterReader.cs
- FileLevelControlBuilderAttribute.cs
- ColorConvertedBitmapExtension.cs
- SurrogateDataContract.cs
- jithelpers.cs
- LongValidatorAttribute.cs
- FrameworkTextComposition.cs
- MapPathBasedVirtualPathProvider.cs
- FixedFlowMap.cs
- TypefaceMetricsCache.cs
- DataGridViewCellLinkedList.cs
- PageContent.cs
- ReadWriteSpinLock.cs
- WmfPlaceableFileHeader.cs
- EntityClassGenerator.cs
- wgx_sdk_version.cs
- WebPartEditorCancelVerb.cs
- ProxyHelper.cs
- OleAutBinder.cs
- WebPartEditorCancelVerb.cs
- UrlPath.cs
- ValidationError.cs
- XmlIterators.cs
- ObjectToModelValueConverter.cs
- PrePostDescendentsWalker.cs
- SchemaMerger.cs
- TypeConverterMarkupExtension.cs
- MessageUtil.cs
- AlternateView.cs
- EncodingDataItem.cs
- HtmlUtf8RawTextWriter.cs
- CopyNodeSetAction.cs
- Matrix3DStack.cs
- FixedHighlight.cs
- StatusBarDrawItemEvent.cs
- BaseCAMarshaler.cs
- Semaphore.cs
- InputLangChangeRequestEvent.cs
- ResourceManager.cs
- RuleSetDialog.cs
- CommandHelper.cs
- TableCell.cs
- ObjectDisposedException.cs
- OracleLob.cs
- Separator.cs
- PcmConverter.cs
- mongolianshape.cs
- CultureTableRecord.cs
- ConnectionsZone.cs
- AttributeQuery.cs
- NamedPermissionSet.cs
- DebugView.cs
- WebPartConnectionsConnectVerb.cs
- SafeSecurityHandles.cs
- ChildrenQuery.cs
- EmbeddedMailObjectsCollection.cs
- XmlAutoDetectWriter.cs
- DataGridCommandEventArgs.cs
- TokenizerHelper.cs
- KeyboardEventArgs.cs
- ParenthesizePropertyNameAttribute.cs
- BlurBitmapEffect.cs
- CellCreator.cs
- MultipartContentParser.cs
- CultureSpecificCharacterBufferRange.cs
- TimeStampChecker.cs
- StaticFileHandler.cs
- ProtectedConfigurationSection.cs
- ModifierKeysValueSerializer.cs
- SelectorItemAutomationPeer.cs
- ParsedAttributeCollection.cs
- XmlHelper.cs
- OLEDB_Util.cs
- BuilderPropertyEntry.cs
- CategoryAttribute.cs
- TransformerInfoCollection.cs
- UserMapPath.cs
- SoapHelper.cs
- FlowDocumentScrollViewer.cs
- IncrementalHitTester.cs
- ActiveXContainer.cs
- DrawingGroupDrawingContext.cs
- ApplicationFileCodeDomTreeGenerator.cs