Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- ChtmlLinkAdapter.cs
- AutoGeneratedField.cs
- LogPolicy.cs
- KeyConverter.cs
- CookielessData.cs
- CompilationSection.cs
- ConnectionInterfaceCollection.cs
- ControlBindingsCollection.cs
- Scene3D.cs
- SecUtil.cs
- ScriptManagerProxy.cs
- BaseTemplateBuildProvider.cs
- SpecialNameAttribute.cs
- Crc32.cs
- AccessDataSource.cs
- DataRowView.cs
- EllipticalNodeOperations.cs
- XmlExpressionDumper.cs
- OdbcInfoMessageEvent.cs
- StringValueSerializer.cs
- SqlBuilder.cs
- Floater.cs
- ReferenceEqualityComparer.cs
- SafeCryptHandles.cs
- StylusPointProperty.cs
- XPathNavigatorReader.cs
- ThreadExceptionEvent.cs
- XmlDictionaryWriter.cs
- Pens.cs
- TemplateField.cs
- CompilerGlobalScopeAttribute.cs
- X509IssuerSerialKeyIdentifierClause.cs
- Comparer.cs
- CodeSubDirectoriesCollection.cs
- BindingContext.cs
- ExtensionDataReader.cs
- AuthorizationBehavior.cs
- FlowNode.cs
- SmiSettersStream.cs
- MenuItem.cs
- SapiInterop.cs
- ActivationServices.cs
- SaveFileDialog.cs
- SevenBitStream.cs
- ValueChangedEventManager.cs
- UnmanagedMarshal.cs
- WebPartDescription.cs
- CellPartitioner.cs
- DBCommand.cs
- HtmlImage.cs
- InfoCardProofToken.cs
- ClientSponsor.cs
- HostedNamedPipeTransportManager.cs
- QilExpression.cs
- wgx_sdk_version.cs
- OleCmdHelper.cs
- TransformDescriptor.cs
- DigestTraceRecordHelper.cs
- UDPClient.cs
- TransformedBitmap.cs
- BlurBitmapEffect.cs
- DesignerActionPanel.cs
- EncoderExceptionFallback.cs
- CodeEventReferenceExpression.cs
- WebEventCodes.cs
- EntryIndex.cs
- Suspend.cs
- ISAPIWorkerRequest.cs
- ListItem.cs
- SortQuery.cs
- CollectionBase.cs
- WebBrowserSiteBase.cs
- InvalidCardException.cs
- UpdateDelegates.Generated.cs
- WSHttpBindingElement.cs
- Substitution.cs
- PackUriHelper.cs
- PageContentAsyncResult.cs
- FixUp.cs
- CodeGenHelper.cs
- ButtonAutomationPeer.cs
- WebBrowsableAttribute.cs
- DesignerActionMethodItem.cs
- CombinedHttpChannel.cs
- OutOfProcStateClientManager.cs
- CalendarAutomationPeer.cs
- UriSchemeKeyedCollection.cs
- ResourcePermissionBase.cs
- TextDecorationCollection.cs
- XmlNodeChangedEventManager.cs
- CroppedBitmap.cs
- Padding.cs
- ReachVisualSerializer.cs
- ForwardPositionQuery.cs
- MasterPageParser.cs
- NativeCppClassAttribute.cs
- ColorConvertedBitmapExtension.cs
- peersecuritysettings.cs
- XmlParserContext.cs
- ServiceElement.cs