Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Core / System / Windows / Input / Command / MouseBinding.cs / 1 / MouseBinding.cs
//---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // // Description: The MouseBinding class is used by the developer to create Mouse Input Bindings // // See spec at : [....]/coreui/Specs/Commanding(new).mht // //* MouseBinding class serves the purpose of Input Bindings for Mouse Device. // // History: // 06/01/2003 : [....] - Created // 05/01/2004 : [....]- changed to new design. //--------------------------------------------------------------------------- using System; using System.Windows.Input; using System.Windows; using System.Windows.Markup; using System.ComponentModel; using SR=MS.Internal.PresentationCore.SR; using SRID=MS.Internal.PresentationCore.SRID; namespace System.Windows.Input { ////// MouseBinding - Implements InputBinding (generic InputGesture-Command map) /// MouseBinding acts like a map for MouseGesture and Commands. /// Most of the logic is in InputBinding and MouseGesture, this only /// facilitates user to specify MouseAction directly without going in /// MouseGesture path. Also it provides the MouseGestureTypeConverter /// on the Gesture property to have MouseGesture, like "RightClick" /// defined in Markup as Gesture="RightClick" working. /// public class MouseBinding : InputBinding { //----------------------------------------------------- // // Constructors // //----------------------------------------------------- #region Constructors ////// constructor /// public MouseBinding() : base() { } ////// Constructor /// /// Command Associated /// Mouse Action internal MouseBinding(ICommand command, MouseAction mouseAction) : this(command, new MouseGesture(mouseAction)) { } ////// Constructor /// /// Command Associated /// Mmouse Gesture associated public MouseBinding(ICommand command, MouseGesture gesture) : base(command, gesture) { } #endregion Constructors //------------------------------------------------------ // // Public Methods // //----------------------------------------------------- #region Public Methods ////// MouseGesture /// [TypeConverter(typeof(MouseGestureConverter))] [ValueSerializer(typeof(MouseGestureValueSerializer))] public override InputGesture Gesture { get { return base.Gesture as MouseGesture; } set { if (value is MouseGesture) { base.Gesture = value; } else { throw new ArgumentException(SR.Get(SRID.InputBinding_ExpectedInputGesture, typeof(MouseGesture))); } } } #endregion Public Methods //------------------------------------------------------ // // Internal Methods // //------------------------------------------------------ //----------------------------------------------------- // // Private Fields // //------------------------------------------------------ //----------------------------------------------------- // // Public Methods // //----------------------------------------------------- #region Public Methods ////// MouseAction /// public MouseAction MouseAction { get { lock (_dataLock) { if (null != Gesture) { return ((MouseGesture)Gesture).MouseAction; } return MouseAction.None; } } set { lock (_dataLock) { if (null == Gesture) { Gesture = new MouseGesture((MouseAction)value); } else { ((MouseGesture)Gesture).MouseAction = (MouseAction)value; } } } } #endregion Public Methods //----------------------------------------------------- // // 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
- PriorityQueue.cs
- Keyboard.cs
- DataAccessor.cs
- Random.cs
- SemanticResolver.cs
- BevelBitmapEffect.cs
- InvalidPrinterException.cs
- XmlComplianceUtil.cs
- WebPartMovingEventArgs.cs
- TypeUtil.cs
- AnchoredBlock.cs
- FrameSecurityDescriptor.cs
- LoginAutoFormat.cs
- InputElement.cs
- SessionStateUtil.cs
- HttpCacheParams.cs
- TextPattern.cs
- SocketElement.cs
- GlobalProxySelection.cs
- DispatcherHookEventArgs.cs
- FileSystemInfo.cs
- ServiceDescriptionImporter.cs
- FactoryMaker.cs
- WebPartTracker.cs
- IfJoinedCondition.cs
- DesignBinding.cs
- CodeSnippetStatement.cs
- Msec.cs
- PathFigureCollection.cs
- IssuedTokenParametersElement.cs
- TrustLevel.cs
- PassportPrincipal.cs
- GridViewCancelEditEventArgs.cs
- Overlapped.cs
- AuthenticationServiceManager.cs
- OLEDB_Enum.cs
- ApplicationBuildProvider.cs
- SplitterEvent.cs
- SystemDropShadowChrome.cs
- Memoizer.cs
- ColumnHeader.cs
- Rect3DConverter.cs
- TypeViewSchema.cs
- CommandHelper.cs
- ClientEventManager.cs
- OletxCommittableTransaction.cs
- EventLogReader.cs
- SortKey.cs
- Path.cs
- PointCollection.cs
- FixedSOMLineCollection.cs
- AsyncOperation.cs
- TagMapInfo.cs
- TypeElement.cs
- ScriptControl.cs
- StylusPointDescription.cs
- LayoutTable.cs
- GPPOINT.cs
- FixUp.cs
- Wildcard.cs
- XmlPreloadedResolver.cs
- XmlILTrace.cs
- Version.cs
- SelectedDatesCollection.cs
- Utilities.cs
- WindowsIPAddress.cs
- DynamicControl.cs
- StylusButtonCollection.cs
- HostedImpersonationContext.cs
- DataRecordInfo.cs
- LinqDataSourceSelectEventArgs.cs
- DataSourceConverter.cs
- HtmlLink.cs
- OdbcUtils.cs
- DataObjectSettingDataEventArgs.cs
- List.cs
- InstanceDescriptor.cs
- WSUtilitySpecificationVersion.cs
- SegmentInfo.cs
- ParenthesizePropertyNameAttribute.cs
- SQLDateTimeStorage.cs
- CommunicationObjectManager.cs
- DoubleKeyFrameCollection.cs
- WebSysDefaultValueAttribute.cs
- ZipIOBlockManager.cs
- ContentDisposition.cs
- _CommandStream.cs
- BackStopAuthenticationModule.cs
- RtfToken.cs
- Point3D.cs
- HttpWebResponse.cs
- EventToken.cs
- SQLInt32.cs
- OleServicesContext.cs
- ListSourceHelper.cs
- EntityDataSourceUtil.cs
- AutoCompleteStringCollection.cs
- x509store.cs
- StandardToolWindows.cs
- ProviderConnectionPoint.cs