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
- SystemUnicastIPAddressInformation.cs
- TreeViewImageKeyConverter.cs
- SQLString.cs
- MetabaseServerConfig.cs
- XpsFont.cs
- DataViewSetting.cs
- SqlConnectionStringBuilder.cs
- DataGridViewRowEventArgs.cs
- HttpPostedFile.cs
- AxWrapperGen.cs
- BrowserDefinitionCollection.cs
- ResourceContainer.cs
- FontCacheLogic.cs
- WindowsTokenRoleProvider.cs
- WindowInteropHelper.cs
- CodeObject.cs
- XmlSchemaInclude.cs
- __TransparentProxy.cs
- DataGridViewHeaderCell.cs
- infer.cs
- ToolStripItemClickedEventArgs.cs
- WCFModelStrings.Designer.cs
- SystemException.cs
- ByteStream.cs
- DtdParser.cs
- PathSegmentCollection.cs
- HostingEnvironmentSection.cs
- ProfileSettings.cs
- ErrorWrapper.cs
- CommandBinding.cs
- Encoding.cs
- RandomNumberGenerator.cs
- InstallerTypeAttribute.cs
- ExtendedPropertyCollection.cs
- DataListCommandEventArgs.cs
- DiscoveryInnerClientManaged11.cs
- Matrix.cs
- LayoutUtils.cs
- DataServiceSaveChangesEventArgs.cs
- Matrix3DValueSerializer.cs
- SignatureHelper.cs
- Brush.cs
- Operand.cs
- DelegateBodyWriter.cs
- ConfigErrorGlyph.cs
- IncrementalCompileAnalyzer.cs
- Panel.cs
- Comparer.cs
- ImageBrush.cs
- WebPartMenu.cs
- DetailsViewPagerRow.cs
- DSASignatureDeformatter.cs
- XmlCDATASection.cs
- EventSinkActivityDesigner.cs
- _AutoWebProxyScriptEngine.cs
- StylusPointProperty.cs
- XmlHierarchicalDataSourceView.cs
- ToolStripSystemRenderer.cs
- ipaddressinformationcollection.cs
- SevenBitStream.cs
- Splitter.cs
- FieldToken.cs
- WindowsProgressbar.cs
- DataGridViewIntLinkedList.cs
- SingleKeyFrameCollection.cs
- RangeContentEnumerator.cs
- CompilationLock.cs
- DataGridViewSelectedColumnCollection.cs
- XamlReaderConstants.cs
- XPathSingletonIterator.cs
- PersonalizationProviderHelper.cs
- DiscreteKeyFrames.cs
- XmlBoundElement.cs
- COAUTHIDENTITY.cs
- CatalogPart.cs
- OdbcReferenceCollection.cs
- GetTokenRequest.cs
- ScopeElement.cs
- Triplet.cs
- StoreItemCollection.Loader.cs
- WebPartDescription.cs
- ServiceReference.cs
- AutomationFocusChangedEventArgs.cs
- DataFieldEditor.cs
- AttachedAnnotation.cs
- AssignDesigner.xaml.cs
- Debug.cs
- PointCollectionConverter.cs
- TableCell.cs
- RequestTimeoutManager.cs
- DispatcherExceptionEventArgs.cs
- DataSpaceManager.cs
- ContextMarshalException.cs
- FormatterConverter.cs
- ReadWriteControlDesigner.cs
- _UriTypeConverter.cs
- ToolStripPanelRenderEventArgs.cs
- SchemaMerger.cs
- Accessors.cs
- FixedTextContainer.cs