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
- EndpointInfo.cs
- PlacementWorkspace.cs
- DataKeyCollection.cs
- initElementDictionary.cs
- SchemaCompiler.cs
- PaginationProgressEventArgs.cs
- CodeEntryPointMethod.cs
- TextEffect.cs
- XhtmlConformanceSection.cs
- WindowsBrush.cs
- EntityDescriptor.cs
- Input.cs
- ActiveXHelper.cs
- ExpressionNode.cs
- Point4DConverter.cs
- AppDomainCompilerProxy.cs
- DefaultSerializationProviderAttribute.cs
- listitem.cs
- FormViewDeletedEventArgs.cs
- BitmapEffectInput.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- ReflectionTypeLoadException.cs
- CheckedListBox.cs
- ToolStripRenderer.cs
- GenericWebPart.cs
- VsPropertyGrid.cs
- SqlPersistenceWorkflowInstanceDescription.cs
- SessionPageStatePersister.cs
- TextParagraph.cs
- HyperLinkDataBindingHandler.cs
- VisualBrush.cs
- InputScope.cs
- FlowchartDesigner.Helpers.cs
- ServiceDescription.cs
- SetterBase.cs
- ThemeableAttribute.cs
- PaperSize.cs
- OracleDataReader.cs
- Permission.cs
- FieldDescriptor.cs
- Variable.cs
- XmlnsPrefixAttribute.cs
- HtmlTitle.cs
- MaskedTextBoxTextEditor.cs
- DataServiceKeyAttribute.cs
- StandardCommands.cs
- AssemblySettingAttributes.cs
- PrintPreviewGraphics.cs
- XmlConvert.cs
- ProfileSettingsCollection.cs
- EncodingNLS.cs
- Visual3DCollection.cs
- BuildResultCache.cs
- CodeFieldReferenceExpression.cs
- ItemsChangedEventArgs.cs
- PasswordPropertyTextAttribute.cs
- RowBinding.cs
- storepermissionattribute.cs
- SchemaElement.cs
- MetadataArtifactLoaderCompositeFile.cs
- RenderDataDrawingContext.cs
- ObjectStorage.cs
- CqlIdentifiers.cs
- TemplateNameScope.cs
- ObjectDataSourceChooseMethodsPanel.cs
- ImplicitInputBrush.cs
- KeyBinding.cs
- LazyInitializer.cs
- SByteConverter.cs
- OperationCanceledException.cs
- XmlSchemaAnnotation.cs
- DynamicValueConverter.cs
- ArraySubsetEnumerator.cs
- WindowsListViewItem.cs
- ImageList.cs
- Socket.cs
- WmfPlaceableFileHeader.cs
- CompModSwitches.cs
- DataGridLinkButton.cs
- __ComObject.cs
- StringBuilder.cs
- PackageStore.cs
- XmlFormatReaderGenerator.cs
- SoapCodeExporter.cs
- Tablet.cs
- VirtualDirectoryMappingCollection.cs
- ScriptMethodAttribute.cs
- ExpressionBuilder.cs
- DataControlLinkButton.cs
- DataGridViewCellFormattingEventArgs.cs
- ReservationNotFoundException.cs
- DelegateTypeInfo.cs
- Label.cs
- HMACSHA512.cs
- PropertyGridCommands.cs
- safelinkcollection.cs
- __ConsoleStream.cs
- _ProxyChain.cs
- objectquery_tresulttype.cs
- PageParserFilter.cs