Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / wpf / src / Core / CSharp / System / Windows / SourceChangedEventArgs.cs / 1 / SourceChangedEventArgs.cs
using System; using System.Security; using System.Security.Permissions; using MS.Internal; using MS.Internal.PresentationCore; // SecurityHelper using MS.Win32; namespace System.Windows { ////// Provides data for the SourceChanged event. /// public sealed class SourceChangedEventArgs : RoutedEventArgs { ////// Initializes a new instance of the SourceChangedEventArgs class. /// /// /// The old source that this handler is being notified about. /// /// /// The new source that this handler is being notified about. /// ////// Critical:This handles critical in the form of PresentationSource but there are demands on the /// data /// PublicOK: As this code does not expose the data. /// [SecurityCritical] public SourceChangedEventArgs(PresentationSource oldSource, PresentationSource newSource) :this(oldSource, newSource, null, null) { } ////// Initializes a new instance of the SourceChangedEventArgs class. /// /// /// The old source that this handler is being notified about. /// /// /// The new source that this handler is being notified about. /// /// /// The element whose parent changed causing the source to change. /// /// /// The old parent of the element whose parent changed causing the /// source to change. /// ////// Critical:This handles critical data in the form of PresentationSource but there are demands on the /// critical data. /// PublicOK:As this code does not expose any critical data. /// [SecurityCritical] public SourceChangedEventArgs(PresentationSource oldSource, PresentationSource newSource, IInputElement element, IInputElement oldParent) { _oldSource = new SecurityCriticalData(oldSource); _newSource = new SecurityCriticalData (newSource); _element = element; _oldParent = oldParent; } /// /// The old source that this handler is being notified about. /// ////// Callers must have UIPermission(UIPermissionWindow.AllWindows) to call this API. /// ////// Critical: This handles critical data in the form of PresentationSource but there are demands on the /// critical data /// PublicOK: There exists a demand /// public PresentationSource OldSource { [SecurityCritical] get { SecurityHelper.DemandUIWindowPermission(); return _oldSource.Value; } } ////// The new source that this handler is being notified about. /// ////// Callers must have UIPermission(UIPermissionWindow.AllWindows) to call this API. /// ////// Critical: This handles critical data in the form of PresentationSource but there are demands on the /// critical data /// PublicOK: There exists a demand /// public PresentationSource NewSource { [SecurityCritical] get { SecurityHelper.DemandUIWindowPermission(); return _newSource.Value; } } ////// The element whose parent changed causing the source to change. /// public IInputElement Element { get {return _element;} } ////// The old parent of the element whose parent changed causing the /// source to change. /// public IInputElement OldParent { get {return _oldParent;} } ////// The mechanism used to call the type-specific handler on the /// target. /// /// /// The generic handler to call in a type-specific way. /// /// /// The target to call the handler on. /// protected override void InvokeEventHandler(Delegate genericHandler, object genericTarget) { SourceChangedEventHandler handler = (SourceChangedEventHandler) genericHandler; handler(genericTarget, this); } ////// Critical: This holds reference to a presentation source not safe to give out /// private SecurityCriticalData_oldSource; /// /// Critical: This holds reference to a presentation source not safe to give out /// private SecurityCriticalData_newSource; private IInputElement _element; private IInputElement _oldParent; } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. using System; using System.Security; using System.Security.Permissions; using MS.Internal; using MS.Internal.PresentationCore; // SecurityHelper using MS.Win32; namespace System.Windows { /// /// Provides data for the SourceChanged event. /// public sealed class SourceChangedEventArgs : RoutedEventArgs { ////// Initializes a new instance of the SourceChangedEventArgs class. /// /// /// The old source that this handler is being notified about. /// /// /// The new source that this handler is being notified about. /// ////// Critical:This handles critical in the form of PresentationSource but there are demands on the /// data /// PublicOK: As this code does not expose the data. /// [SecurityCritical] public SourceChangedEventArgs(PresentationSource oldSource, PresentationSource newSource) :this(oldSource, newSource, null, null) { } ////// Initializes a new instance of the SourceChangedEventArgs class. /// /// /// The old source that this handler is being notified about. /// /// /// The new source that this handler is being notified about. /// /// /// The element whose parent changed causing the source to change. /// /// /// The old parent of the element whose parent changed causing the /// source to change. /// ////// Critical:This handles critical data in the form of PresentationSource but there are demands on the /// critical data. /// PublicOK:As this code does not expose any critical data. /// [SecurityCritical] public SourceChangedEventArgs(PresentationSource oldSource, PresentationSource newSource, IInputElement element, IInputElement oldParent) { _oldSource = new SecurityCriticalData(oldSource); _newSource = new SecurityCriticalData (newSource); _element = element; _oldParent = oldParent; } /// /// The old source that this handler is being notified about. /// ////// Callers must have UIPermission(UIPermissionWindow.AllWindows) to call this API. /// ////// Critical: This handles critical data in the form of PresentationSource but there are demands on the /// critical data /// PublicOK: There exists a demand /// public PresentationSource OldSource { [SecurityCritical] get { SecurityHelper.DemandUIWindowPermission(); return _oldSource.Value; } } ////// The new source that this handler is being notified about. /// ////// Callers must have UIPermission(UIPermissionWindow.AllWindows) to call this API. /// ////// Critical: This handles critical data in the form of PresentationSource but there are demands on the /// critical data /// PublicOK: There exists a demand /// public PresentationSource NewSource { [SecurityCritical] get { SecurityHelper.DemandUIWindowPermission(); return _newSource.Value; } } ////// The element whose parent changed causing the source to change. /// public IInputElement Element { get {return _element;} } ////// The old parent of the element whose parent changed causing the /// source to change. /// public IInputElement OldParent { get {return _oldParent;} } ////// The mechanism used to call the type-specific handler on the /// target. /// /// /// The generic handler to call in a type-specific way. /// /// /// The target to call the handler on. /// protected override void InvokeEventHandler(Delegate genericHandler, object genericTarget) { SourceChangedEventHandler handler = (SourceChangedEventHandler) genericHandler; handler(genericTarget, this); } ////// Critical: This holds reference to a presentation source not safe to give out /// private SecurityCriticalData_oldSource; /// /// Critical: This holds reference to a presentation source not safe to give out /// private SecurityCriticalData_newSource; private IInputElement _element; private IInputElement _oldParent; } } // 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
- MailDefinition.cs
- UrlPropertyAttribute.cs
- PrimitiveCodeDomSerializer.cs
- XmlObjectSerializerWriteContext.cs
- MachineKeyConverter.cs
- FileLevelControlBuilderAttribute.cs
- MonikerProxyAttribute.cs
- ObsoleteAttribute.cs
- HttpBindingExtension.cs
- TextShapeableCharacters.cs
- XPathNodeInfoAtom.cs
- COM2IVsPerPropertyBrowsingHandler.cs
- ClosureBinding.cs
- CngKeyBlobFormat.cs
- DataGridItemEventArgs.cs
- WebExceptionStatus.cs
- ConstNode.cs
- webclient.cs
- SafeCertificateStore.cs
- Base64Encoding.cs
- UdpSocketReceiveManager.cs
- Path.cs
- LoadRetryConstantStrategy.cs
- XmlSerializerVersionAttribute.cs
- EventProviderWriter.cs
- ObjectStateEntry.cs
- XmlRawWriterWrapper.cs
- IsolatedStorageFileStream.cs
- FontEditor.cs
- WS2007FederationHttpBinding.cs
- TextShapeableCharacters.cs
- DefaultPropertiesToSend.cs
- UInt64Converter.cs
- ContextMenuStripGroupCollection.cs
- HtmlSelect.cs
- UInt64Storage.cs
- ContentFileHelper.cs
- ResourceAttributes.cs
- PageThemeCodeDomTreeGenerator.cs
- DataBindingList.cs
- AppSettingsExpressionBuilder.cs
- AttachedPropertyBrowsableWhenAttributePresentAttribute.cs
- AcceleratedTokenProvider.cs
- OlePropertyStructs.cs
- DrawingGroup.cs
- ButtonRenderer.cs
- ReachObjectContext.cs
- WebPartZoneBase.cs
- DocumentPageViewAutomationPeer.cs
- Socket.cs
- EventSinkHelperWriter.cs
- CatalogZone.cs
- Base64Encoding.cs
- TypeTypeConverter.cs
- SimpleLine.cs
- CodeRemoveEventStatement.cs
- TypeForwardedFromAttribute.cs
- XsdCachingReader.cs
- WindowsPen.cs
- LoadedOrUnloadedOperation.cs
- HtmlTernaryTree.cs
- RoleManagerSection.cs
- ThreadLocal.cs
- DefaultProxySection.cs
- StateManagedCollection.cs
- HealthMonitoringSectionHelper.cs
- RuleEngine.cs
- DataGridViewCellStyleChangedEventArgs.cs
- TemplateField.cs
- LongTypeConverter.cs
- SqlBulkCopyColumnMapping.cs
- XmlReflectionImporter.cs
- ConsoleKeyInfo.cs
- XMLSchema.cs
- StatusBar.cs
- CreateUserErrorEventArgs.cs
- returneventsaver.cs
- AssemblyAttributesGoHere.cs
- XmlSchemaInferenceException.cs
- SafeRightsManagementQueryHandle.cs
- MergePropertyDescriptor.cs
- CngAlgorithmGroup.cs
- ComPersistableTypeElementCollection.cs
- WindowsAuthenticationModule.cs
- InteropAutomationProvider.cs
- InteropBitmapSource.cs
- MultitargetUtil.cs
- SmtpAuthenticationManager.cs
- Panel.cs
- UpdateProgress.cs
- DataObjectCopyingEventArgs.cs
- HitTestParameters.cs
- XhtmlBasicObjectListAdapter.cs
- DataRowExtensions.cs
- QuaternionRotation3D.cs
- PropertyInfoSet.cs
- CommandPlan.cs
- linebase.cs
- AsyncCompletedEventArgs.cs
- PagesSection.cs