Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / 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
- FixedSOMTableRow.cs
- ComplexTypeEmitter.cs
- ToggleProviderWrapper.cs
- OleStrCAMarshaler.cs
- EditingScopeUndoUnit.cs
- complextypematerializer.cs
- WindowPattern.cs
- GPRECTF.cs
- prefixendpointaddressmessagefilter.cs
- ScriptingRoleServiceSection.cs
- EventDescriptorCollection.cs
- Misc.cs
- ProxyHelper.cs
- PropertyValueUIItem.cs
- WebPartTransformer.cs
- CodeArgumentReferenceExpression.cs
- WebEventTraceProvider.cs
- BulletedListEventArgs.cs
- RawContentTypeMapper.cs
- PasswordDeriveBytes.cs
- RelationshipConverter.cs
- GAC.cs
- GradientBrush.cs
- DataTableReaderListener.cs
- EncryptedKey.cs
- WarningException.cs
- SerializationException.cs
- RealizationDrawingContextWalker.cs
- SimpleRecyclingCache.cs
- DataIdProcessor.cs
- SignatureHelper.cs
- TextProperties.cs
- XmlDataSourceNodeDescriptor.cs
- ProfilePropertyNameValidator.cs
- StringConcat.cs
- VisualBasicImportReference.cs
- ReliableMessagingVersion.cs
- StringFormat.cs
- XmlSchemaValidator.cs
- ListViewGroupItemCollection.cs
- XPathNodeInfoAtom.cs
- LocatorManager.cs
- UIElement3DAutomationPeer.cs
- WindowsToolbar.cs
- DataGridViewButtonCell.cs
- SqlDependency.cs
- DbProviderSpecificTypePropertyAttribute.cs
- MethodExpr.cs
- DataTablePropertyDescriptor.cs
- BooleanKeyFrameCollection.cs
- ZipIORawDataFileBlock.cs
- TextChange.cs
- CompressedStack.cs
- MatrixCamera.cs
- Emitter.cs
- BufferBuilder.cs
- TemplateBamlTreeBuilder.cs
- EntityRecordInfo.cs
- RoleManagerEventArgs.cs
- AssociationTypeEmitter.cs
- UTF7Encoding.cs
- DbConnectionPoolOptions.cs
- RectangleF.cs
- HighContrastHelper.cs
- DetailsViewPagerRow.cs
- NetSectionGroup.cs
- ClaimTypes.cs
- UInt32Converter.cs
- SystemMulticastIPAddressInformation.cs
- SessionEndedEventArgs.cs
- RichTextBox.cs
- ByteArrayHelperWithString.cs
- GenericRootAutomationPeer.cs
- RenderOptions.cs
- odbcmetadatacolumnnames.cs
- EventHandlersDesigner.cs
- Fx.cs
- GridErrorDlg.cs
- MSG.cs
- ZipArchive.cs
- TableCell.cs
- TreeNodeCollectionEditor.cs
- ValidatorUtils.cs
- SplashScreenNativeMethods.cs
- ParameterExpression.cs
- FixedDocument.cs
- ParentUndoUnit.cs
- MappingException.cs
- FamilyMap.cs
- UnmanagedBitmapWrapper.cs
- OptionalColumn.cs
- DataSourceCacheDurationConverter.cs
- RequestCache.cs
- _FtpControlStream.cs
- TypedRowGenerator.cs
- SQLInt64Storage.cs
- ContractsBCL.cs
- controlskin.cs
- InvokeHandlers.cs
- SafeRegistryHandle.cs