Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Core / System / Windows / DragEventArgs.cs / 1 / DragEventArgs.cs
//---------------------------------------------------------------------------- // // File: DragEventArgs.cs // // Copyright (C) Microsoft Corporation. All rights reserved. // // Description: DragEventArgs for drag-and-drop operation. // // // History: // 08/19/2004 : [....] Created // //--------------------------------------------------------------------------- using System; using System.Diagnostics; using System.Windows.Media; using System.Windows.Input; using SR=MS.Internal.PresentationCore.SR; using SRID=MS.Internal.PresentationCore.SRID; namespace System.Windows { ////// The DragEventArgs class represents a type of RoutedEventArgs that /// are relevant to all drag events(DragEnter/DragOver/DragLeave/DragDrop). /// public sealed class DragEventArgs : RoutedEventArgs { //----------------------------------------------------- // // Constructors // //----------------------------------------------------- #region Constructors ////// Constructs a DragEventArgs instance. /// /// /// The data object used in this drag drop operation. /// /// /// The current state of the mouse button and modifier keys. /// /// /// Allowed effects of a drag-and-drop operation. /// /// /// The target of the event. /// /// /// The current mouse position of the target. /// internal DragEventArgs(IDataObject data, DragDropKeyStates dragDropKeyStates, DragDropEffects allowedEffects, DependencyObject target, Point point) { if (!DragDrop.IsValidDragDropKeyStates(dragDropKeyStates)) { Debug.Assert(false, "Invalid dragDropKeyStates"); } if (!DragDrop.IsValidDragDropEffects(allowedEffects)) { Debug.Assert(false, "Invalid allowedEffects"); } if (target == null) { Debug.Assert(false, "Invalid target"); } this._data = data; this._dragDropKeyStates = dragDropKeyStates; this._allowedEffects = allowedEffects; this._target = target; this._dropPoint = point; this._effects = allowedEffects; } #endregion Constructors //------------------------------------------------------ // // Public Methods // //----------------------------------------------------- #region Public Methods ////// The point of drop operation that based on relativeTo. /// public Point GetPosition(IInputElement relativeTo) { Point dropPoint; if (relativeTo == null) { throw new ArgumentNullException("relativeTo"); } dropPoint = new Point(0, 0); if (_target != null) { // Translate the drop point from the drop target to the relative element. dropPoint = InputElement.TranslatePoint(_dropPoint, _target, (DependencyObject)relativeTo); } return dropPoint; } #endregion Public Methods //------------------------------------------------------ // // Public Properties // //------------------------------------------------------ #region Public Properties ////// The data object of drop operation /// public IDataObject Data { get { return _data; } } ////// The DragDropKeyStates that indicates the current states for /// physical keyboard keys and mouse buttons. /// public DragDropKeyStates KeyStates { get { return _dragDropKeyStates; } } ////// The allowed effects of drag and drop operation /// public DragDropEffects AllowedEffects { get { return _allowedEffects; } } ////// The effects of drag and drop operation /// public DragDropEffects Effects { get { return _effects; } set { if (!DragDrop.IsValidDragDropEffects(value)) { throw new ArgumentException(SR.Get(SRID.DragDrop_DragDropEffectsInvalid, "value")); } _effects = value; } } #endregion Public Properties #region Protected Methods //----------------------------------------------------- // // Protected Methods // //------------------------------------------------------ ////// The mechanism used to call the type-specific handler on the target. /// /// /// The generic handler to call in a type-specific way. /// /// /// The target to call the handler on. /// protected override void InvokeEventHandler(Delegate genericHandler, object genericTarget) { DragEventHandler handler = (DragEventHandler)genericHandler; handler(genericTarget, this); } #endregion Protected Methods //----------------------------------------------------- // // Private Fields // //----------------------------------------------------- #region Private Fields private IDataObject _data; private DragDropKeyStates _dragDropKeyStates; private DragDropEffects _allowedEffects; private DragDropEffects _effects; private DependencyObject _target; private Point _dropPoint; #endregion Private Fields } } // 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
- HttpBrowserCapabilitiesWrapper.cs
- RowCache.cs
- TypeEnumerableViewSchema.cs
- ControlType.cs
- StructuredType.cs
- CodeCatchClause.cs
- DataTableClearEvent.cs
- RightsManagementLicense.cs
- ConnectionConsumerAttribute.cs
- MailAddressParser.cs
- SelectionRangeConverter.cs
- ErrorProvider.cs
- DataGridViewRow.cs
- _HelperAsyncResults.cs
- SqlGenericUtil.cs
- TableLayoutPanelDesigner.cs
- CollectionView.cs
- FileAuthorizationModule.cs
- DeviceSpecificDialogCachedState.cs
- HandledEventArgs.cs
- Environment.cs
- XmlEnumAttribute.cs
- SiteMapNodeItemEventArgs.cs
- XamlBrushSerializer.cs
- AssociatedControlConverter.cs
- XamlClipboardData.cs
- EncoderFallback.cs
- DataGridState.cs
- Size3DValueSerializer.cs
- PassportAuthenticationModule.cs
- DesignerTransaction.cs
- UIElement3D.cs
- QuotedPrintableStream.cs
- _WebProxyDataBuilder.cs
- webbrowsersite.cs
- PieceDirectory.cs
- ObjectComplexPropertyMapping.cs
- TabletCollection.cs
- TemplatePartAttribute.cs
- dsa.cs
- AbandonedMutexException.cs
- ObjectStorage.cs
- RootBrowserWindowProxy.cs
- Span.cs
- UnconditionalPolicy.cs
- MimeParameterWriter.cs
- MetadataItemSerializer.cs
- CompilerResults.cs
- PropertyNames.cs
- odbcmetadatacollectionnames.cs
- SkinBuilder.cs
- ItemContainerProviderWrapper.cs
- XmlEncoding.cs
- TypeDescriptionProviderAttribute.cs
- OleDbStruct.cs
- ProcessThread.cs
- UniqueEventHelper.cs
- TextBlock.cs
- SuspendDesigner.cs
- SqlServices.cs
- UserControlAutomationPeer.cs
- TypeConverterHelper.cs
- UpdatePanelControlTrigger.cs
- ItemAutomationPeer.cs
- WebPartZone.cs
- Operators.cs
- DataGridViewCellStyle.cs
- WindowsFormsHostAutomationPeer.cs
- TileModeValidation.cs
- FontFamily.cs
- TextEndOfParagraph.cs
- StylusDownEventArgs.cs
- TypefaceCollection.cs
- DragDrop.cs
- XPathDocumentNavigator.cs
- FormClosingEvent.cs
- MultitargetingHelpers.cs
- HtmlValidatorAdapter.cs
- EntityDataSourceUtil.cs
- FileLevelControlBuilderAttribute.cs
- SettingsPropertyIsReadOnlyException.cs
- ExpressionNormalizer.cs
- ConstructorExpr.cs
- ExtendedPropertyCollection.cs
- NonNullItemCollection.cs
- IPPacketInformation.cs
- DataGridCellInfo.cs
- PieceNameHelper.cs
- SingleConverter.cs
- FrameworkContextData.cs
- TextPointer.cs
- EnumBuilder.cs
- OptimalTextSource.cs
- Interop.cs
- LoginUtil.cs
- ItemCheckedEvent.cs
- ZoneMembershipCondition.cs
- SqlCacheDependencyDatabase.cs
- SerializationIncompleteException.cs
- ColumnTypeConverter.cs