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
- DesignSurface.cs
- AssemblyAssociatedContentFileAttribute.cs
- TextProviderWrapper.cs
- ArrayTypeMismatchException.cs
- OletxEnlistment.cs
- DataListCommandEventArgs.cs
- DesignerHost.cs
- ManagedWndProcTracker.cs
- WebPartTransformerAttribute.cs
- ConnectionConsumerAttribute.cs
- _SSPISessionCache.cs
- clipboard.cs
- XmlNodeReader.cs
- WorkerProcess.cs
- BitmapMetadataEnumerator.cs
- X509SecurityToken.cs
- FixedSOMFixedBlock.cs
- SerializableAttribute.cs
- StringWriter.cs
- Parsers.cs
- ImageCodecInfo.cs
- CqlErrorHelper.cs
- TextBoxBaseDesigner.cs
- IconBitmapDecoder.cs
- HttpStaticObjectsCollectionBase.cs
- StylesEditorDialog.cs
- CodeEventReferenceExpression.cs
- Image.cs
- GridViewCommandEventArgs.cs
- FormatterServices.cs
- ConsoleKeyInfo.cs
- CodeGenerator.cs
- XmlObjectSerializerContext.cs
- ComplexLine.cs
- Geometry.cs
- RepeaterCommandEventArgs.cs
- SqlDataSource.cs
- HtmlContainerControl.cs
- PageCatalogPart.cs
- UserNameSecurityTokenProvider.cs
- SqlGenerator.cs
- OracleDateTime.cs
- IERequestCache.cs
- RemotingAttributes.cs
- RowCache.cs
- XmlDataCollection.cs
- sqlpipe.cs
- TextContainerChangedEventArgs.cs
- XmlBindingWorker.cs
- XamlPoint3DCollectionSerializer.cs
- WebPartsPersonalizationAuthorization.cs
- SqlDataSourceEnumerator.cs
- _IPv6Address.cs
- ComPlusAuthorization.cs
- EntityViewContainer.cs
- JpegBitmapEncoder.cs
- WebPartAuthorizationEventArgs.cs
- ManipulationStartingEventArgs.cs
- ToolStripAdornerWindowService.cs
- TextParentUndoUnit.cs
- SchemaElementDecl.cs
- NativeActivityTransactionContext.cs
- GetWinFXPath.cs
- RectConverter.cs
- CodeParameterDeclarationExpressionCollection.cs
- SQLDouble.cs
- DataGridViewElement.cs
- CodeTypeReference.cs
- DataGridColumnHeader.cs
- WebColorConverter.cs
- TypePropertyEditor.cs
- Path.cs
- FixedSOMTextRun.cs
- VisualStateGroup.cs
- NetMsmqSecurityMode.cs
- DeploymentExceptionMapper.cs
- UdpChannelFactory.cs
- XMLUtil.cs
- FileDetails.cs
- SetState.cs
- DynamicDocumentPaginator.cs
- base64Transforms.cs
- Crc32Helper.cs
- SizeKeyFrameCollection.cs
- ConfigurationLocation.cs
- ResXResourceReader.cs
- GeometryHitTestParameters.cs
- RequestSecurityTokenResponse.cs
- ReferentialConstraint.cs
- Wildcard.cs
- SqlConnection.cs
- Duration.cs
- LongValidator.cs
- HwndSubclass.cs
- RSAOAEPKeyExchangeFormatter.cs
- CacheVirtualItemsEvent.cs
- Identity.cs
- ClientOptions.cs
- ObjectStateFormatter.cs
- TextStore.cs