DataObjectEventArgs.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Core / System / Windows / DataObjectEventArgs.cs / 1 / DataObjectEventArgs.cs

                            //---------------------------------------------------------------------------- 
//
// 
//    Copyright (C) Microsoft Corporation.  All rights reserved.
//  
//
// Description: Base class for DataObject events arguments 
// 
//---------------------------------------------------------------------------
 
using System;

namespace System.Windows
{ 
    /// 
    /// Base class for DataObject.Copying/Pasting events. 
    /// These events are raised when an editor deals with 
    /// a data object before putting it to clipboard on copy
    /// and before starting drag operation; 
    /// or before Pasting its content into a selection
    /// on Paste/Drop operations.
    ///
    /// This class is abstract - it provides only common 
    /// members for the events. Particular commands
    /// must use more specific event arguments - 
    /// DataObjectCopyingEventArgs or DataObjectPastingEventArgs. 
    /// 
    public abstract class DataObjectEventArgs : RoutedEventArgs 
    {
        //-----------------------------------------------------
        //
        //  Constructors 
        //
        //----------------------------------------------------- 
 
        #region Constructors
 
        /// 
        /// Creates a DataObjectCopyEvent.
        /// This object created by editors executing a Copy/Paste
        /// and Drag/Drop comands. 
        /// 
        ///  
        /// An event id. One of: CopyingEvent or PastingEvent 
        /// 
        ///  
        /// A flag indicating if this operation is part of drag/drop.
        /// Copying event fired on drag start, Pasting - on drop.
        /// Cancelling the command stops drag/drop process in
        /// an appropriate moment. 
        /// 
        internal DataObjectEventArgs(RoutedEvent routedEvent, bool isDragDrop) : base() 
        { 
            if (routedEvent != DataObject.CopyingEvent && routedEvent != DataObject.PastingEvent && routedEvent != DataObject.SettingDataEvent)
            { 
                throw new ArgumentOutOfRangeException("routedEvent");
            }

            RoutedEvent = routedEvent; 

            _isDragDrop = isDragDrop; 
            _commandCancelled = false; 
        }
 
        #endregion Constructors

        //------------------------------------------------------
        // 
        //  Public Properties
        // 
        //----------------------------------------------------- 

        #region Public Properties 

        /// 
        /// A flag indicating if this operation is part of drag/drop.
        /// Copying event fired on drag start, Pasting - on drop. 
        /// Cancelling the command stops drag/drop process in
        /// an appropriate moment. 
        ///  
        public bool IsDragDrop
        { 
            get { return _isDragDrop; }
        }

        ///  
        /// A current cancellation status of the event.
        /// When set to true, copy command is going to be cancelled. 
        ///  
        public bool CommandCancelled
        { 
            get { return _commandCancelled; }
        }

        #endregion Public Properties 

        //------------------------------------------------------ 
        // 
        //  Protected Methods
        // 
        //------------------------------------------------------

        #region Public Methods
 
        /// 
        /// Sets cancelled status of a command to true. 
        /// After calling this method the command will be 
        /// stopped from calling.
        /// Applied to Drag (event="Copying", isDragDrop="true") 
        /// this would stop the whole dragdrop process.
        /// 
        /// 
        /// After an event has been cancelled it's impossible 
        /// to re-enable it.
        ///  
        public void CancelCommand() 
        {
            _commandCancelled = true; 
        }

        #endregion Public Methods
 
        //-----------------------------------------------------
        // 
        //  Private Fields 
        //
        //------------------------------------------------------ 

        #region Private Fields

        private bool _isDragDrop; 

        private bool _commandCancelled; 
 
        #endregion Private Fields
    } 
}

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK