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
- ConsumerConnectionPoint.cs
- Odbc32.cs
- SchemaImporter.cs
- SymDocumentType.cs
- AdRotator.cs
- NumericExpr.cs
- XmlILOptimizerVisitor.cs
- PathSegmentCollection.cs
- Predicate.cs
- IBuiltInEvidence.cs
- OleDbEnumerator.cs
- MatrixUtil.cs
- ConfigurationLoaderException.cs
- GeometryGroup.cs
- DataTableExtensions.cs
- NamedPermissionSet.cs
- Base64Decoder.cs
- ResourceContainer.cs
- GridViewCommandEventArgs.cs
- Int32Storage.cs
- TaiwanLunisolarCalendar.cs
- OptionUsage.cs
- FormsAuthenticationCredentials.cs
- Range.cs
- DesignerVerb.cs
- DataGridViewCellErrorTextNeededEventArgs.cs
- QilPatternFactory.cs
- DoubleAnimationUsingKeyFrames.cs
- XmlLanguageConverter.cs
- OperationParameterInfoCollection.cs
- TreeNodeStyleCollection.cs
- ToolZone.cs
- DetailsViewUpdateEventArgs.cs
- DbDeleteCommandTree.cs
- TitleStyle.cs
- CodeTypeOfExpression.cs
- IMembershipProvider.cs
- TextStore.cs
- MetadataPropertyvalue.cs
- TextServicesHost.cs
- ScrollViewer.cs
- OdbcConnectionString.cs
- Number.cs
- ObjectReferenceStack.cs
- JsonUriDataContract.cs
- ManagedWndProcTracker.cs
- EntityDataSourceWizardForm.cs
- Root.cs
- CqlQuery.cs
- ExtendedPropertyCollection.cs
- AmbientValueAttribute.cs
- ErrorLog.cs
- UdpDiscoveryEndpointElement.cs
- ActivationProxy.cs
- UnsafeNetInfoNativeMethods.cs
- SmtpDigestAuthenticationModule.cs
- SystemMulticastIPAddressInformation.cs
- Mutex.cs
- DateTimeConverter.cs
- XamlClipboardData.cs
- HitTestParameters3D.cs
- _KerberosClient.cs
- InfoCardRSACryptoProvider.cs
- PropertyTab.cs
- AutoGeneratedFieldProperties.cs
- XDRSchema.cs
- PropertyPathConverter.cs
- BlobPersonalizationState.cs
- XPathAncestorQuery.cs
- __Filters.cs
- SemanticValue.cs
- ObjectDataSourceMethodEditor.cs
- RowCache.cs
- SessionSwitchEventArgs.cs
- _UriSyntax.cs
- ValidatingReaderNodeData.cs
- _AutoWebProxyScriptWrapper.cs
- DuplicateDetector.cs
- BaseParaClient.cs
- UnsafeMethods.cs
- WebPartsPersonalizationAuthorization.cs
- EditorAttribute.cs
- CanExecuteRoutedEventArgs.cs
- CommunicationException.cs
- coordinatorfactory.cs
- MimeParameter.cs
- TranslateTransform.cs
- DataGridViewColumnTypeEditor.cs
- Pair.cs
- ClientRuntimeConfig.cs
- BrowserCapabilitiesFactory.cs
- SafeCertificateStore.cs
- Stacktrace.cs
- Timer.cs
- PrtCap_Builder.cs
- Operators.cs
- PartitionerQueryOperator.cs
- SchemaInfo.cs
- DataAdapter.cs
- DbProviderFactoriesConfigurationHandler.cs