Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Core / CSharp / System / Windows / SourceChangedEventArgs.cs / 1305600 / 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
- XmlSchemaNotation.cs
- MsmqTransportBindingElement.cs
- ManagementObjectSearcher.cs
- SqlClientWrapperSmiStreamChars.cs
- Vector3DIndependentAnimationStorage.cs
- xamlnodes.cs
- XmlDataContract.cs
- CharKeyFrameCollection.cs
- MetabaseReader.cs
- PropertyNames.cs
- RowUpdatingEventArgs.cs
- RequestQueue.cs
- SystemUnicastIPAddressInformation.cs
- GridViewCommandEventArgs.cs
- Matrix3D.cs
- MatrixConverter.cs
- Animatable.cs
- PTConverter.cs
- DataConnectionHelper.cs
- KeyedCollection.cs
- PageAsyncTask.cs
- LeaseManager.cs
- AssemblyNameUtility.cs
- FileFormatException.cs
- ToolboxItem.cs
- APCustomTypeDescriptor.cs
- ScrollViewerAutomationPeer.cs
- TraceListener.cs
- PolyQuadraticBezierSegment.cs
- ResourceManagerWrapper.cs
- TraceUtility.cs
- NotifyParentPropertyAttribute.cs
- GetIndexBinder.cs
- NativeMethods.cs
- DrawingAttributes.cs
- UpDownEvent.cs
- ResourceReferenceKeyNotFoundException.cs
- TreeNodeMouseHoverEvent.cs
- CodePrimitiveExpression.cs
- NameValueCollection.cs
- HwndPanningFeedback.cs
- GroupDescription.cs
- PrefixQName.cs
- EventArgs.cs
- FixedFlowMap.cs
- LinearGradientBrush.cs
- PixelFormats.cs
- ConnectionStringSettingsCollection.cs
- RectConverter.cs
- ServerIdentity.cs
- Base64WriteStateInfo.cs
- TabItemWrapperAutomationPeer.cs
- GridViewAutomationPeer.cs
- SerialErrors.cs
- DesignerAttribute.cs
- SponsorHelper.cs
- EventDescriptor.cs
- TreeNodeCollectionEditor.cs
- RootNamespaceAttribute.cs
- CapabilitiesPattern.cs
- IgnoreDataMemberAttribute.cs
- XmlSignatureManifest.cs
- CookieParameter.cs
- OutputCacheProfile.cs
- compensatingcollection.cs
- SamlAssertionKeyIdentifierClause.cs
- XmlSchemaAll.cs
- FixedDocument.cs
- __ComObject.cs
- ComponentCommands.cs
- CodeNamespace.cs
- CustomWebEventKey.cs
- FrameworkTextComposition.cs
- SizeChangedInfo.cs
- EntityTypeEmitter.cs
- XmlLanguage.cs
- TrustLevelCollection.cs
- LineServicesCallbacks.cs
- VirtualPathProvider.cs
- HttpVersion.cs
- EpmHelper.cs
- IPHostEntry.cs
- SafeBuffer.cs
- PeerCollaboration.cs
- XmlSerializerVersionAttribute.cs
- QilInvoke.cs
- ChangeConflicts.cs
- HttpModuleCollection.cs
- RadioButtonStandardAdapter.cs
- HtmlShimManager.cs
- QilTypeChecker.cs
- InfiniteTimeSpanConverter.cs
- MissingManifestResourceException.cs
- XmlEventCache.cs
- BinaryMethodMessage.cs
- ScrollItemProviderWrapper.cs
- Cursors.cs
- MemberAssignmentAnalysis.cs
- UserPersonalizationStateInfo.cs
- DeferredTextReference.cs