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
- AddressAccessDeniedException.cs
- DetectEofStream.cs
- CheckedListBox.cs
- Evidence.cs
- List.cs
- EdmType.cs
- Msec.cs
- SrgsNameValueTag.cs
- CssStyleCollection.cs
- DoubleMinMaxAggregationOperator.cs
- WindowsGraphics2.cs
- NetworkStream.cs
- ControlHelper.cs
- ConfigurationSectionCollection.cs
- ReadOnlyKeyedCollection.cs
- WmpBitmapEncoder.cs
- ProgressBarBrushConverter.cs
- SrgsItemList.cs
- TextEditorParagraphs.cs
- LoginName.cs
- WindowsIPAddress.cs
- MultiView.cs
- TextSpanModifier.cs
- assertwrapper.cs
- X509Certificate2Collection.cs
- UriSchemeKeyedCollection.cs
- XPathNode.cs
- TypeSemantics.cs
- DataServiceKeyAttribute.cs
- TimeSpan.cs
- HttpHandler.cs
- FunctionDetailsReader.cs
- ToolStripMenuItemDesigner.cs
- LeftCellWrapper.cs
- BlurEffect.cs
- MDIClient.cs
- LiteralLink.cs
- RemoteWebConfigurationHost.cs
- ScriptResourceAttribute.cs
- LookupNode.cs
- XmlILConstructAnalyzer.cs
- Int64Animation.cs
- XpsFontSerializationService.cs
- GregorianCalendar.cs
- KeyGestureValueSerializer.cs
- ListViewDataItem.cs
- Transform3DGroup.cs
- ScriptingProfileServiceSection.cs
- HttpVersion.cs
- TreeNodeMouseHoverEvent.cs
- WebSysDefaultValueAttribute.cs
- ImageDrawing.cs
- PreviewKeyDownEventArgs.cs
- DataGridViewDataConnection.cs
- Token.cs
- WhereQueryOperator.cs
- PropertyDescriptorComparer.cs
- StringDictionary.cs
- BinHexDecoder.cs
- RightsManagementEncryptionTransform.cs
- BrowserTree.cs
- RefreshPropertiesAttribute.cs
- HttpDictionary.cs
- Interfaces.cs
- SystemEvents.cs
- TextAdaptor.cs
- LabelEditEvent.cs
- ImageSourceValueSerializer.cs
- SmtpClient.cs
- IConvertible.cs
- StringPropertyBuilder.cs
- Assembly.cs
- DocumentAutomationPeer.cs
- PeerCollaborationPermission.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- CodeMemberMethod.cs
- PropertyItem.cs
- ManagementBaseObject.cs
- EditorPart.cs
- MetaColumn.cs
- BaseParagraph.cs
- XmlElementAttribute.cs
- CredentialCache.cs
- WindowsTreeView.cs
- CodeEventReferenceExpression.cs
- AccessKeyManager.cs
- Rect3D.cs
- parserscommon.cs
- PeerNameRegistration.cs
- SecurityContext.cs
- MenuItemStyle.cs
- AvTraceDetails.cs
- NavigationCommands.cs
- CustomLineCap.cs
- DoubleAverageAggregationOperator.cs
- SafeFindHandle.cs
- UIElementIsland.cs
- ButtonColumn.cs
- Span.cs
- ActiveDesignSurfaceEvent.cs