Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Core / System / Windows / MouseOverProperty.cs / 2 / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DelimitedListTraceListener.cs
- CultureMapper.cs
- DebugView.cs
- Rect3D.cs
- XmlSchemaSet.cs
- DurationConverter.cs
- SqlAliasesReferenced.cs
- DrawTreeNodeEventArgs.cs
- StructuralComparisons.cs
- ProfilePropertySettings.cs
- CallbackTimeoutsBehavior.cs
- XamlWriter.cs
- UrlPath.cs
- MetricEntry.cs
- DebugTraceHelper.cs
- DockPatternIdentifiers.cs
- XhtmlBasicListAdapter.cs
- UseAttributeSetsAction.cs
- XmlSecureResolver.cs
- FormatterServicesNoSerializableCheck.cs
- HttpRuntimeSection.cs
- SymbolType.cs
- PrtCap_Base.cs
- SamlAttributeStatement.cs
- XmlDictionaryString.cs
- AssemblyEvidenceFactory.cs
- WebMessageEncoderFactory.cs
- AppDomain.cs
- ToolStripItemCollection.cs
- PrintDialog.cs
- StdRegProviderWrapper.cs
- AppSettingsExpressionBuilder.cs
- FullTextBreakpoint.cs
- OneOfElement.cs
- ApplicationProxyInternal.cs
- ColumnTypeConverter.cs
- ObjectViewFactory.cs
- ConfigXmlCDataSection.cs
- FakeModelPropertyImpl.cs
- ToolStripScrollButton.cs
- TimelineCollection.cs
- UriTemplateTrieNode.cs
- MenuEventArgs.cs
- PageAsyncTaskManager.cs
- KeyConverter.cs
- TabletDeviceInfo.cs
- DataGridViewColumnStateChangedEventArgs.cs
- AutomationPattern.cs
- WorkflowEnvironment.cs
- WindowShowOrOpenTracker.cs
- TypeUnloadedException.cs
- SHA384Cng.cs
- DoubleAnimation.cs
- PtsHost.cs
- InvalidDocumentContentsException.cs
- MonikerProxyAttribute.cs
- BackgroundWorker.cs
- ScaleTransform3D.cs
- DataAdapter.cs
- ParseChildrenAsPropertiesAttribute.cs
- RegexRunner.cs
- LoginView.cs
- ClientConfigPaths.cs
- OneOfTypeConst.cs
- SchemaTypeEmitter.cs
- KnownBoxes.cs
- Keyboard.cs
- CfgSemanticTag.cs
- TagElement.cs
- DetailsViewRow.cs
- CompositionTarget.cs
- ExpressionNode.cs
- Icon.cs
- TextProperties.cs
- VariantWrapper.cs
- AssemblyBuilder.cs
- safex509handles.cs
- ViewCellRelation.cs
- SizeConverter.cs
- AppDomain.cs
- StrongNameSignatureInformation.cs
- Converter.cs
- IconHelper.cs
- CheckBoxStandardAdapter.cs
- NameValueFileSectionHandler.cs
- TypedDataSourceCodeGenerator.cs
- ChineseLunisolarCalendar.cs
- DocumentPage.cs
- WinEventQueueItem.cs
- MergeLocalizationDirectives.cs
- GeneralTransform2DTo3D.cs
- HttpServerVarsCollection.cs
- WebPartTracker.cs
- SizeIndependentAnimationStorage.cs
- TabletDevice.cs
- BindingContext.cs
- PerformanceCounterPermission.cs
- StickyNote.cs
- DataGridLinkButton.cs
- TextAutomationPeer.cs