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
- BooleanExpr.cs
- BulletChrome.cs
- TemplateKeyConverter.cs
- DeleteHelper.cs
- KnownTypesProvider.cs
- WebPartManagerDesigner.cs
- Cursors.cs
- EventLogInternal.cs
- GPRECT.cs
- GridViewDeletedEventArgs.cs
- JoinTreeSlot.cs
- TypedDatasetGenerator.cs
- WizardStepBase.cs
- DataGridViewComboBoxColumnDesigner.cs
- SynchronizationLockException.cs
- TimeSpanValidatorAttribute.cs
- StringToken.cs
- ComboBoxRenderer.cs
- TypeSchema.cs
- CodeSnippetTypeMember.cs
- FileDialog_Vista.cs
- SchemaInfo.cs
- TextTreeRootTextBlock.cs
- ConfigViewGenerator.cs
- CriticalFinalizerObject.cs
- ElementFactory.cs
- EventBuilder.cs
- ExpressionParser.cs
- ToolStripComboBox.cs
- DictionaryItemsCollection.cs
- Label.cs
- SystemThemeKey.cs
- IndexOutOfRangeException.cs
- SqlDelegatedTransaction.cs
- ZipIOFileItemStream.cs
- WpfSharedXamlSchemaContext.cs
- StringToken.cs
- WebHttpBehavior.cs
- SpecialTypeDataContract.cs
- Invariant.cs
- WorkflowInstanceProvider.cs
- DataSourceSelectArguments.cs
- DesignTimeParseData.cs
- LoginView.cs
- HttpRuntime.cs
- XPathDocumentNavigator.cs
- Transform3D.cs
- DebugInfo.cs
- EdmScalarPropertyAttribute.cs
- OleDbSchemaGuid.cs
- MemberInfoSerializationHolder.cs
- TransactionInterop.cs
- RectAnimationUsingKeyFrames.cs
- ObjectQueryProvider.cs
- TypedTableBaseExtensions.cs
- ActivityLocationReferenceEnvironment.cs
- RoutedEventHandlerInfo.cs
- FixedNode.cs
- DataSpaceManager.cs
- ObjectConverter.cs
- IApplicationTrustManager.cs
- OracleConnectionStringBuilder.cs
- UrlMappingsSection.cs
- StreamAsIStream.cs
- Size3D.cs
- SearchForVirtualItemEventArgs.cs
- GlyphRunDrawing.cs
- safelinkcollection.cs
- DefaultTraceListener.cs
- RuntimeArgumentHandle.cs
- Calendar.cs
- ValidationEventArgs.cs
- ConstantCheck.cs
- RichTextBoxAutomationPeer.cs
- panel.cs
- ClickablePoint.cs
- CqlLexerHelpers.cs
- InstancePersistenceException.cs
- ResourcesBuildProvider.cs
- PolygonHotSpot.cs
- StylusSystemGestureEventArgs.cs
- FigureHelper.cs
- WorkflowRequestContext.cs
- LogPolicy.cs
- Sql8ConformanceChecker.cs
- ZoneIdentityPermission.cs
- DataGridViewButtonCell.cs
- BaseTreeIterator.cs
- HttpCachePolicy.cs
- BooleanFunctions.cs
- PrivacyNoticeBindingElement.cs
- GlobalEventManager.cs
- CacheEntry.cs
- UnknownBitmapEncoder.cs
- BitmapEffectDrawing.cs
- PropertyRecord.cs
- EqualityComparer.cs
- HttpWebRequest.cs
- Base64Decoder.cs
- CommentAction.cs