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
- WorkflowValidationFailedException.cs
- ReferenceCountedObject.cs
- DataSourceSerializationException.cs
- ComponentEditorPage.cs
- _BaseOverlappedAsyncResult.cs
- DictionaryKeyPropertyAttribute.cs
- HandlerBase.cs
- JsonDeserializer.cs
- BlurEffect.cs
- TdsRecordBufferSetter.cs
- PropertyGrid.cs
- ClaimTypeElement.cs
- UIElementParagraph.cs
- WaitForChangedResult.cs
- ApplicationHost.cs
- TabItemWrapperAutomationPeer.cs
- RSAPKCS1SignatureFormatter.cs
- GlyphingCache.cs
- OdbcError.cs
- ETagAttribute.cs
- Operators.cs
- RegisteredScript.cs
- CancelEventArgs.cs
- InterleavedZipPartStream.cs
- DesignerResources.cs
- XmlDictionary.cs
- Emitter.cs
- ObjectDataSource.cs
- DetailsViewDeleteEventArgs.cs
- HttpCacheVaryByContentEncodings.cs
- HttpHandlerActionCollection.cs
- KoreanCalendar.cs
- panel.cs
- DataGridViewElement.cs
- Action.cs
- BooleanAnimationUsingKeyFrames.cs
- PngBitmapEncoder.cs
- TextBlockAutomationPeer.cs
- StateWorkerRequest.cs
- QueueProcessor.cs
- Image.cs
- InProcStateClientManager.cs
- DataSourceProvider.cs
- EventSourceCreationData.cs
- EnumConverter.cs
- ControlBuilderAttribute.cs
- CultureTable.cs
- TerminatorSinks.cs
- SID.cs
- BitmapEffectCollection.cs
- HostingEnvironmentWrapper.cs
- EventLogEntryCollection.cs
- DatePickerDateValidationErrorEventArgs.cs
- IQueryable.cs
- DataServiceSaveChangesEventArgs.cs
- SelectionRangeConverter.cs
- ISessionStateStore.cs
- SessionSwitchEventArgs.cs
- RuntimeConfigLKG.cs
- MetadataUtilsSmi.cs
- AddressingVersion.cs
- TextProviderWrapper.cs
- ChangePasswordAutoFormat.cs
- GenerateScriptTypeAttribute.cs
- CharEntityEncoderFallback.cs
- LineBreakRecord.cs
- StylusPointPropertyId.cs
- TextTreeRootNode.cs
- BitSet.cs
- PasswordRecovery.cs
- StrokeFIndices.cs
- CryptoKeySecurity.cs
- MinMaxParagraphWidth.cs
- WorkflowInstanceProxy.cs
- AspCompat.cs
- ConfigurationProperty.cs
- SemanticBasicElement.cs
- XsltConvert.cs
- IdentityHolder.cs
- IIS7WorkerRequest.cs
- MonthChangedEventArgs.cs
- Simplifier.cs
- XmlStreamNodeWriter.cs
- SmtpReplyReader.cs
- ChangeTracker.cs
- SqlConnectionHelper.cs
- TraceContext.cs
- AtomicFile.cs
- SqlDataSourceView.cs
- EventLogPermissionAttribute.cs
- SignerInfo.cs
- Bezier.cs
- XmlAttributeCollection.cs
- RenderData.cs
- GridViewHeaderRowPresenter.cs
- DefaultHttpHandler.cs
- PageVisual.cs
- AesCryptoServiceProvider.cs
- ProxyElement.cs
- SQLInt16Storage.cs