Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Core / CSharp / System / Windows / MouseOverProperty.cs / 1305600 / 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
- PtsPage.cs
- CodeTypeMemberCollection.cs
- NullableLongSumAggregationOperator.cs
- EntityDataSourceQueryBuilder.cs
- RotateTransform3D.cs
- ADMembershipUser.cs
- RuntimeResourceSet.cs
- IteratorAsyncResult.cs
- SyndicationElementExtension.cs
- WindowsBrush.cs
- DateTimeParse.cs
- DbDataReader.cs
- XmlReaderSettings.cs
- HtmlTernaryTree.cs
- IssuanceTokenProviderState.cs
- SerializationObjectManager.cs
- MachineKeySection.cs
- RtfToXamlReader.cs
- Point4D.cs
- EncryptedXml.cs
- MachineKeySection.cs
- CryptoConfig.cs
- PropertyInformationCollection.cs
- Floater.cs
- keycontainerpermission.cs
- BezierSegment.cs
- SafeCryptoHandles.cs
- BaseDataList.cs
- DispatcherOperation.cs
- StaticContext.cs
- MergablePropertyAttribute.cs
- HybridObjectCache.cs
- SemaphoreFullException.cs
- NegotiateStream.cs
- PcmConverter.cs
- EmbeddedObject.cs
- WebEventTraceProvider.cs
- List.cs
- ListChangedEventArgs.cs
- _Events.cs
- AccessDataSourceView.cs
- CaseInsensitiveHashCodeProvider.cs
- EditorZoneBase.cs
- DataSourceXmlClassAttribute.cs
- XmlMtomReader.cs
- WebPartDisplayModeCancelEventArgs.cs
- ProfessionalColorTable.cs
- CellIdBoolean.cs
- SQLChars.cs
- MetadataSet.cs
- TableLayoutCellPaintEventArgs.cs
- TextBoxAutomationPeer.cs
- HistoryEventArgs.cs
- TransactionChannelFactory.cs
- EntityAdapter.cs
- FieldDescriptor.cs
- Transform.cs
- SafeProcessHandle.cs
- ReadOnlyState.cs
- CodeTypeMemberCollection.cs
- CopyCodeAction.cs
- StateManagedCollection.cs
- CircleHotSpot.cs
- ListViewGroupConverter.cs
- DesignerForm.cs
- Label.cs
- UnsafeNativeMethods.cs
- ArithmeticException.cs
- DataGridViewCellMouseEventArgs.cs
- BitmapDecoder.cs
- TimerEventSubscription.cs
- CqlBlock.cs
- DocumentReference.cs
- CodeAttachEventStatement.cs
- Overlapped.cs
- ErrorEventArgs.cs
- AstTree.cs
- MaterialGroup.cs
- SettingsPropertyIsReadOnlyException.cs
- HostedTcpTransportManager.cs
- TerminatorSinks.cs
- SliderAutomationPeer.cs
- Adorner.cs
- ListViewEditEventArgs.cs
- HorizontalAlignConverter.cs
- Attributes.cs
- InternalDispatchObject.cs
- ValidationErrorCollection.cs
- ServiceReflector.cs
- DataBoundLiteralControl.cs
- BamlMapTable.cs
- ListBoxItemAutomationPeer.cs
- HelpKeywordAttribute.cs
- TemplateControlParser.cs
- ClassHandlersStore.cs
- CellIdBoolean.cs
- SerializationFieldInfo.cs
- ColumnCollection.cs
- StrokeNodeData.cs
- MinMaxParagraphWidth.cs