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
- Library.cs
- PaintEvent.cs
- DirectoryRootQuery.cs
- EdmPropertyAttribute.cs
- SqlProfileProvider.cs
- Codec.cs
- EmbeddedMailObjectsCollection.cs
- NativeMethods.cs
- ObjectNotFoundException.cs
- ProxyAttribute.cs
- NullableLongSumAggregationOperator.cs
- ScrollItemProviderWrapper.cs
- BackgroundFormatInfo.cs
- XPathScanner.cs
- PropertyDescriptorCollection.cs
- GetPageNumberCompletedEventArgs.cs
- XmlReturnWriter.cs
- ParenthesizePropertyNameAttribute.cs
- VisualProxy.cs
- ReadWriteSpinLock.cs
- SqlUserDefinedAggregateAttribute.cs
- HttpApplication.cs
- RelatedImageListAttribute.cs
- SafeFileMapViewHandle.cs
- SafeNativeMethodsCLR.cs
- SafeIUnknown.cs
- ToolBar.cs
- PropertyPath.cs
- TypeConverter.cs
- PrtTicket_Editor.cs
- ClassHandlersStore.cs
- Identifier.cs
- FolderBrowserDialogDesigner.cs
- LightweightCodeGenerator.cs
- XPathMultyIterator.cs
- RankException.cs
- OleDbDataAdapter.cs
- MailAddress.cs
- LocatorGroup.cs
- FormCollection.cs
- SR.cs
- Authorization.cs
- SynchronizedPool.cs
- RelationshipConverter.cs
- Pair.cs
- RegexWorker.cs
- Operators.cs
- EdmComplexPropertyAttribute.cs
- WSSecurityTokenSerializer.cs
- SerializationStore.cs
- FlowLayout.cs
- EventDescriptor.cs
- SqlWorkflowPersistenceService.cs
- DataGridViewRowErrorTextNeededEventArgs.cs
- XmlHierarchyData.cs
- EDesignUtil.cs
- ExceptionUtil.cs
- PagesSection.cs
- CompilerScope.cs
- OleDbPropertySetGuid.cs
- StorageMappingFragment.cs
- RNGCryptoServiceProvider.cs
- RegexCaptureCollection.cs
- ImageEditor.cs
- LocalizationParserHooks.cs
- HtmlInputImage.cs
- ViewStateException.cs
- odbcmetadatafactory.cs
- BitFlagsGenerator.cs
- HttpListenerException.cs
- FilteredSchemaElementLookUpTable.cs
- SqlMethodAttribute.cs
- UnsafeNativeMethods.cs
- UserPersonalizationStateInfo.cs
- DynamicValidator.cs
- DeviceSpecificDesigner.cs
- SoapServerMessage.cs
- FileStream.cs
- RecognizedWordUnit.cs
- Site.cs
- SessionSwitchEventArgs.cs
- ClientBuildManagerCallback.cs
- HuffModule.cs
- RegistryKey.cs
- LineServices.cs
- FilterException.cs
- GenerateTemporaryAssemblyTask.cs
- CompiledRegexRunner.cs
- Bidi.cs
- SerTrace.cs
- TypeBuilder.cs
- CodeRemoveEventStatement.cs
- SqlProviderServices.cs
- DefaultValueTypeConverter.cs
- ByteStreamMessage.cs
- MetadataArtifactLoader.cs
- DelimitedListTraceListener.cs
- ImageAttributes.cs
- _CommandStream.cs
- InputBindingCollection.cs