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
- MultiSelectRootGridEntry.cs
- MaskedTextProvider.cs
- COM2PropertyPageUITypeConverter.cs
- XmlTextAttribute.cs
- Workspace.cs
- LinqDataSourceDeleteEventArgs.cs
- GeneratedContractType.cs
- AxWrapperGen.cs
- MailWriter.cs
- InstanceOwnerQueryResult.cs
- TagPrefixAttribute.cs
- CodeTypeReferenceCollection.cs
- FlowDocumentReaderAutomationPeer.cs
- _ConnectionGroup.cs
- ListSortDescriptionCollection.cs
- LabelDesigner.cs
- WebPartDescriptionCollection.cs
- WhitespaceRuleLookup.cs
- ConfigurationStrings.cs
- DataSourceHelper.cs
- DrawingAttributeSerializer.cs
- FreezableDefaultValueFactory.cs
- PeerResolverSettings.cs
- Baml2006ReaderSettings.cs
- DataPagerFieldCommandEventArgs.cs
- PageTheme.cs
- OverrideMode.cs
- ApplicationActivator.cs
- PipeStream.cs
- UIElement3D.cs
- EasingKeyFrames.cs
- _PooledStream.cs
- ZipIOBlockManager.cs
- OleDbDataAdapter.cs
- ToolStripDropDownItem.cs
- TableLayoutPanelCellPosition.cs
- BindableTemplateBuilder.cs
- DataGridItemAutomationPeer.cs
- CanonicalFormWriter.cs
- TemplateContent.cs
- EditBehavior.cs
- IdnMapping.cs
- _KerberosClient.cs
- DefaultSection.cs
- HwndPanningFeedback.cs
- ContextMarshalException.cs
- PropertyEmitterBase.cs
- SqlBuilder.cs
- AsymmetricAlgorithm.cs
- DynamicValidatorEventArgs.cs
- DesignerImageAdapter.cs
- ListItem.cs
- PathGeometry.cs
- SqlDeflator.cs
- DbProviderFactory.cs
- ArrayTypeMismatchException.cs
- XamlRtfConverter.cs
- AsnEncodedData.cs
- KeyedHashAlgorithm.cs
- TextTreeUndoUnit.cs
- ServerIdentity.cs
- RowBinding.cs
- TextServicesManager.cs
- IChannel.cs
- PostBackOptions.cs
- WorkflowServiceNamespace.cs
- CacheOutputQuery.cs
- WorkflowDesigner.cs
- FormatVersion.cs
- DataGridSortCommandEventArgs.cs
- XmlWhitespace.cs
- StringUtil.cs
- XmlResolver.cs
- BinaryFormatter.cs
- XmlSchemaCompilationSettings.cs
- Keyboard.cs
- GeometryCollection.cs
- DLinqColumnProvider.cs
- AsyncOperationContext.cs
- LogicalChannelCollection.cs
- SerializationException.cs
- RegexRunnerFactory.cs
- DataGridPageChangedEventArgs.cs
- BitmapFrameEncode.cs
- TCPClient.cs
- TextSegment.cs
- AssemblyBuilder.cs
- DataRowIndexBuffer.cs
- ApplicationActivator.cs
- SafeRightsManagementHandle.cs
- Visitors.cs
- JsonUriDataContract.cs
- ExecutionContext.cs
- TraceContextEventArgs.cs
- InvokeBinder.cs
- SqlFacetAttribute.cs
- Utils.cs
- HexParser.cs
- TableCell.cs
- XmlProcessingInstruction.cs