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
- unsafeIndexingFilterStream.cs
- QilStrConcat.cs
- CalendarDesigner.cs
- SByteStorage.cs
- WindowsGraphicsCacheManager.cs
- CompareValidator.cs
- IndexerNameAttribute.cs
- PresentationSource.cs
- GcSettings.cs
- TextPattern.cs
- NetworkAddressChange.cs
- FamilyCollection.cs
- Popup.cs
- XmlSecureResolver.cs
- BoundsDrawingContextWalker.cs
- DataControlCommands.cs
- Visual3D.cs
- CacheDependency.cs
- ListViewDataItem.cs
- PerformanceCounter.cs
- Tool.cs
- MethodExpression.cs
- DBParameter.cs
- FileUtil.cs
- SoapProtocolReflector.cs
- ContainsRowNumberChecker.cs
- CodeCatchClause.cs
- BindingExpression.cs
- CmsUtils.cs
- SafeArrayTypeMismatchException.cs
- ToolStripOverflowButton.cs
- LogicalExpressionEditor.cs
- BooleanFunctions.cs
- FontStyle.cs
- PerfService.cs
- SimpleWorkerRequest.cs
- ConstructorNeedsTagAttribute.cs
- BitmapEffectDrawing.cs
- XmlSchemaComplexType.cs
- xmlsaver.cs
- TreeNodeBinding.cs
- SelectionRange.cs
- PriorityChain.cs
- HTTPNotFoundHandler.cs
- SqlBulkCopyColumnMapping.cs
- RbTree.cs
- DictionaryEntry.cs
- CollectionView.cs
- SchemaNotation.cs
- ReadOnlyTernaryTree.cs
- WebControlParameterProxy.cs
- Rfc2898DeriveBytes.cs
- MinimizableAttributeTypeConverter.cs
- ArcSegment.cs
- EmbossBitmapEffect.cs
- CodeSubDirectory.cs
- DesignerOptionService.cs
- ProjectionPathBuilder.cs
- RectAnimationBase.cs
- VirtualPathUtility.cs
- ListBoxChrome.cs
- DetailsViewCommandEventArgs.cs
- GPRECTF.cs
- EntityClientCacheKey.cs
- DataSet.cs
- WindowInteropHelper.cs
- AssertUtility.cs
- DynamicDataRoute.cs
- RenderTargetBitmap.cs
- SpecialTypeDataContract.cs
- serverconfig.cs
- EnumConverter.cs
- ToolStripComboBox.cs
- InstanceData.cs
- ExpressionConverter.cs
- SmtpNtlmAuthenticationModule.cs
- TextRangeEditLists.cs
- cookiecontainer.cs
- ValidatorCollection.cs
- ServiceModelConfiguration.cs
- WindowsComboBox.cs
- PackageRelationship.cs
- ExtractedStateEntry.cs
- CommonGetThemePartSize.cs
- NonSerializedAttribute.cs
- DataServiceEntityAttribute.cs
- IsolatedStorageFilePermission.cs
- InheritanceService.cs
- DecimalAverageAggregationOperator.cs
- PropertyEmitterBase.cs
- InstanceKeyCompleteException.cs
- SplayTreeNode.cs
- TextSyndicationContentKindHelper.cs
- BulletDecorator.cs
- DbException.cs
- Pair.cs
- BlockCollection.cs
- ButtonChrome.cs
- CompilationAssemblyInstallComponent.cs
- NamedPermissionSet.cs