Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- TTSVoice.cs
- HashAlgorithm.cs
- CacheMemory.cs
- BuildResult.cs
- XmlWriter.cs
- HttpAsyncResult.cs
- CompressStream.cs
- HtmlCommandAdapter.cs
- ContentControl.cs
- DbConnectionOptions.cs
- MeasureData.cs
- RepeaterItemCollection.cs
- LogRecordSequence.cs
- CookieParameter.cs
- XmlSchemaAny.cs
- ColorComboBox.cs
- BaseDataList.cs
- PersonalizationStateInfoCollection.cs
- XmlAttributeOverrides.cs
- LinqDataSourceDisposeEventArgs.cs
- DeliveryStrategy.cs
- ColorConvertedBitmapExtension.cs
- HTMLTagNameToTypeMapper.cs
- XmlCharCheckingWriter.cs
- EncoderParameters.cs
- RetrieveVirtualItemEventArgs.cs
- HtmlContainerControl.cs
- PbrsForward.cs
- HtmlInputSubmit.cs
- TypeSystemHelpers.cs
- TypeTypeConverter.cs
- ModelItemDictionary.cs
- TextStore.cs
- XsltQilFactory.cs
- GridLength.cs
- RectKeyFrameCollection.cs
- BulletedList.cs
- TextServicesCompartmentContext.cs
- TextContainerChangeEventArgs.cs
- RegexWorker.cs
- HtmlUtf8RawTextWriter.cs
- AnimatedTypeHelpers.cs
- TransformPattern.cs
- View.cs
- SplineQuaternionKeyFrame.cs
- OperatingSystem.cs
- CurrentChangingEventManager.cs
- BitmapEffectrendercontext.cs
- DataGridViewColumnCollection.cs
- BitmapDownload.cs
- HandlerFactoryWrapper.cs
- MimeParameters.cs
- StructuredTypeEmitter.cs
- IChannel.cs
- FlowDocumentScrollViewer.cs
- ProxyGenerationError.cs
- OleDbException.cs
- DecimalAnimationBase.cs
- SerializerWriterEventHandlers.cs
- DataDocumentXPathNavigator.cs
- GB18030Encoding.cs
- XmlAttributeAttribute.cs
- AdRotator.cs
- AppDomainGrammarProxy.cs
- PassportPrincipal.cs
- CompatibleComparer.cs
- QueryExpr.cs
- VectorAnimationBase.cs
- XmlNamespaceManager.cs
- XmlUtf8RawTextWriter.cs
- NetworkStream.cs
- NodeLabelEditEvent.cs
- LineBreakRecord.cs
- AccessedThroughPropertyAttribute.cs
- StylusPointPropertyInfo.cs
- SubtreeProcessor.cs
- unsafenativemethodstextservices.cs
- XMLDiffLoader.cs
- HwndSubclass.cs
- WebBaseEventKeyComparer.cs
- LambdaCompiler.Lambda.cs
- SQLInt16Storage.cs
- XamlFilter.cs
- ServerValidateEventArgs.cs
- PerformanceCounterManager.cs
- KeyboardEventArgs.cs
- ExpressionBinding.cs
- AuthenticationModulesSection.cs
- WorkflowItemsPresenter.cs
- TextRunCache.cs
- IdentityNotMappedException.cs
- SynchronizedInputHelper.cs
- XmlWhitespace.cs
- Menu.cs
- TemplateBamlRecordReader.cs
- CheckBoxPopupAdapter.cs
- Model3DGroup.cs
- DataGridViewCellFormattingEventArgs.cs
- CoTaskMemHandle.cs
- SnapLine.cs