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
- InternalEnumValidator.cs
- TargetControlTypeAttribute.cs
- BrowserDefinition.cs
- WindowsTreeView.cs
- Documentation.cs
- DBSchemaTable.cs
- FontInfo.cs
- NetCodeGroup.cs
- Propagator.JoinPropagator.JoinPredicateVisitor.cs
- wgx_commands.cs
- PixelFormatConverter.cs
- ProcessManager.cs
- Annotation.cs
- Matrix3D.cs
- OrthographicCamera.cs
- MediaTimeline.cs
- SafeRightsManagementHandle.cs
- SqlDataSource.cs
- ComboBox.cs
- HandlerBase.cs
- RegexStringValidator.cs
- VisualTreeHelper.cs
- HttpListenerTimeoutManager.cs
- StandardOleMarshalObject.cs
- ITreeGenerator.cs
- _AutoWebProxyScriptWrapper.cs
- XamlSerializerUtil.cs
- ToolboxDataAttribute.cs
- HtmlTitle.cs
- ForEachDesigner.xaml.cs
- ServiceInfo.cs
- CustomAttributeSerializer.cs
- StrongNameUtility.cs
- PropertyMetadata.cs
- Int16.cs
- DashStyles.cs
- String.cs
- ViewBase.cs
- ClientScriptManager.cs
- ManagementException.cs
- TextChangedEventArgs.cs
- PropertyEmitter.cs
- TraceShell.cs
- SynchronizedInputProviderWrapper.cs
- XappLauncher.cs
- ListViewUpdatedEventArgs.cs
- ToolboxBitmapAttribute.cs
- StackSpiller.Temps.cs
- RuntimeHelpers.cs
- LocalizationComments.cs
- MailSettingsSection.cs
- FixUpCollection.cs
- HtmlInputButton.cs
- bidPrivateBase.cs
- UniqueIdentifierService.cs
- HttpListener.cs
- OpacityConverter.cs
- AppSettings.cs
- WebPartConnectionCollection.cs
- Psha1DerivedKeyGenerator.cs
- TdsValueSetter.cs
- GridViewColumnHeaderAutomationPeer.cs
- StandardBindingReliableSessionElement.cs
- ReturnValue.cs
- GeneralTransform3DCollection.cs
- XmlCodeExporter.cs
- ScriptingScriptResourceHandlerSection.cs
- securitycriticaldata.cs
- AbstractDataSvcMapFileLoader.cs
- FunctionParameter.cs
- DbSource.cs
- SaveFileDialog.cs
- StrokeNodeOperations.cs
- ModuleBuilderData.cs
- Transaction.cs
- AttributeQuery.cs
- ListItemParagraph.cs
- MarginsConverter.cs
- NullEntityWrapper.cs
- DateTimeAutomationPeer.cs
- ClientSection.cs
- TextBox.cs
- XmlSchemaInclude.cs
- SortedList.cs
- TypeSource.cs
- FieldMetadata.cs
- MultiByteCodec.cs
- Label.cs
- WaitHandle.cs
- BamlBinaryReader.cs
- SafeArrayTypeMismatchException.cs
- SoapReflectionImporter.cs
- StateMachineSubscription.cs
- DefaultTraceListener.cs
- CalculatedColumn.cs
- SecurityTokenResolver.cs
- HtmlTable.cs
- CaretElement.cs
- SoapAttributeOverrides.cs
- LineUtil.cs