Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / wpf / src / Core / CSharp / System / Windows / Input / StagingAreaInputItem.cs / 1 / StagingAreaInputItem.cs
using System; using System.Collections; using System.Security.Permissions; using System.Security; namespace System.Windows.Input { ////// This class encapsulates an input event while it is being /// processed by the input manager. /// ////// This class just provides the dictionary-based storage for /// all of the listeners of the various input manager events. /// public class StagingAreaInputItem { // Only we can make these. internal StagingAreaInputItem(bool isMarker) { _isMarker = isMarker; } // For performace reasons, we try to reuse these event args. // Allow an existing item to be promoted by keeping the existing dictionary. internal void Reset(InputEventArgs input, StagingAreaInputItem promote) { _input = input; if(promote != null && promote._dictionary != null) { // _dictionary = (Hashtable) promote._dictionary.Clone(); } else { if(_dictionary != null) { _dictionary.Clear(); } else { _dictionary = new Hashtable(); } } } ////// Returns the input event. /// ////// Callers must have UIPermission(PermissionState.Unrestricted) to call this API. /// ////// Defense In Depth - even if this leaks out, we demand here. /// public InputEventArgs Input { [UIPermissionAttribute(SecurityAction.LinkDemand,Unrestricted=true)] get {return _input;} } ////// Provides storage for arbitrary data needed during the /// processing of this input event. /// /// /// An arbitrary key for the data. This cannot be null. /// ////// The data previously set for this key, or null. /// public object GetData(object key) { return _dictionary[key]; } ////// Provides storage for arbitrary data needed during the /// processing of this input event. /// /// /// An arbitrary key for the data. This cannot be null. /// /// /// The data to set for this key. This can be null. /// ////// Callers must have UIPermission(PermissionState.Unrestricted) to call this API. /// ////// Defense In Depth - even if this leaks out, we demand here. /// [UIPermissionAttribute(SecurityAction.LinkDemand,Unrestricted=true)] public void SetData(object key, object value) { _dictionary[key] = value; } internal bool IsMarker {get {return _isMarker;}} private bool _isMarker; private InputEventArgs _input; private Hashtable _dictionary; } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. using System; using System.Collections; using System.Security.Permissions; using System.Security; namespace System.Windows.Input { ////// This class encapsulates an input event while it is being /// processed by the input manager. /// ////// This class just provides the dictionary-based storage for /// all of the listeners of the various input manager events. /// public class StagingAreaInputItem { // Only we can make these. internal StagingAreaInputItem(bool isMarker) { _isMarker = isMarker; } // For performace reasons, we try to reuse these event args. // Allow an existing item to be promoted by keeping the existing dictionary. internal void Reset(InputEventArgs input, StagingAreaInputItem promote) { _input = input; if(promote != null && promote._dictionary != null) { // _dictionary = (Hashtable) promote._dictionary.Clone(); } else { if(_dictionary != null) { _dictionary.Clear(); } else { _dictionary = new Hashtable(); } } } ////// Returns the input event. /// ////// Callers must have UIPermission(PermissionState.Unrestricted) to call this API. /// ////// Defense In Depth - even if this leaks out, we demand here. /// public InputEventArgs Input { [UIPermissionAttribute(SecurityAction.LinkDemand,Unrestricted=true)] get {return _input;} } ////// Provides storage for arbitrary data needed during the /// processing of this input event. /// /// /// An arbitrary key for the data. This cannot be null. /// ////// The data previously set for this key, or null. /// public object GetData(object key) { return _dictionary[key]; } ////// Provides storage for arbitrary data needed during the /// processing of this input event. /// /// /// An arbitrary key for the data. This cannot be null. /// /// /// The data to set for this key. This can be null. /// ////// Callers must have UIPermission(PermissionState.Unrestricted) to call this API. /// ////// Defense In Depth - even if this leaks out, we demand here. /// [UIPermissionAttribute(SecurityAction.LinkDemand,Unrestricted=true)] public void SetData(object key, object value) { _dictionary[key] = value; } internal bool IsMarker {get {return _isMarker;}} private bool _isMarker; private InputEventArgs _input; private Hashtable _dictionary; } } // 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
- DesignTimeTemplateParser.cs
- NominalTypeEliminator.cs
- ScriptReferenceBase.cs
- ProtocolsConfigurationHandler.cs
- MultiTrigger.cs
- HttpListenerException.cs
- MsmqTransportBindingElement.cs
- IRCollection.cs
- DescendentsWalkerBase.cs
- PropertyChangingEventArgs.cs
- ListDictionaryInternal.cs
- RootBrowserWindow.cs
- ScalarRestriction.cs
- BinaryWriter.cs
- ActiveXContainer.cs
- BridgeDataRecord.cs
- EventBookmark.cs
- MessageQueuePermissionEntry.cs
- UrlAuthorizationModule.cs
- TableCellCollection.cs
- Thread.cs
- AsyncStreamReader.cs
- QueuePathEditor.cs
- UserControl.cs
- NullRuntimeConfig.cs
- X509Certificate2Collection.cs
- SqlException.cs
- DataGridViewColumnDesigner.cs
- SiteMapPath.cs
- SessionStateSection.cs
- DynamicMethod.cs
- DataSourceCollectionBase.cs
- Column.cs
- ParagraphVisual.cs
- BitmapEffectInput.cs
- TagMapInfo.cs
- TemplateContainer.cs
- DesignerActionUIService.cs
- ChildChangedEventArgs.cs
- TextRunProperties.cs
- ResXBuildProvider.cs
- ColorPalette.cs
- DelayDesigner.cs
- MSAAWinEventWrap.cs
- SchemaType.cs
- ItemCollection.cs
- LineMetrics.cs
- DataGridViewComboBoxCell.cs
- ToolboxItem.cs
- DataTableMapping.cs
- Color.cs
- HebrewCalendar.cs
- OleDbParameterCollection.cs
- ByteFacetDescriptionElement.cs
- AssemblyCollection.cs
- EnvironmentPermission.cs
- XmlQuerySequence.cs
- DataSourceBooleanViewSchemaConverter.cs
- JsonUriDataContract.cs
- EdgeProfileValidation.cs
- GeneralTransform2DTo3D.cs
- CheckableControlBaseAdapter.cs
- SignedXml.cs
- ListItemsPage.cs
- XslVisitor.cs
- ZipIOExtraFieldPaddingElement.cs
- StringReader.cs
- JpegBitmapEncoder.cs
- TdsParser.cs
- DataControlButton.cs
- PersistencePipeline.cs
- HighlightComponent.cs
- DataGridViewColumn.cs
- WriteFileContext.cs
- UIElementParagraph.cs
- XmlHierarchicalDataSourceView.cs
- PrintPageEvent.cs
- HttpConfigurationContext.cs
- InternalPolicyElement.cs
- Int32Animation.cs
- ProfilePropertySettingsCollection.cs
- SecurityPolicySection.cs
- WSHttpBindingElement.cs
- BaseDataBoundControlDesigner.cs
- AtomParser.cs
- Matrix3D.cs
- Rule.cs
- BaseParser.cs
- TextTrailingCharacterEllipsis.cs
- DesignSurfaceEvent.cs
- StructuredType.cs
- OnOperation.cs
- DataSourceGroupCollection.cs
- DataGridViewRowDividerDoubleClickEventArgs.cs
- CellParaClient.cs
- ExpressionSelection.cs
- DemultiplexingDispatchMessageFormatter.cs
- DeflateStream.cs
- XamlClipboardData.cs
- ApplicationBuildProvider.cs