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
- StackSpiller.cs
- ExceptionUtility.cs
- DataGridColumn.cs
- ToolboxCategoryItems.cs
- OleDbError.cs
- WebDisplayNameAttribute.cs
- SplitContainer.cs
- SchemaLookupTable.cs
- StrokeNodeOperations2.cs
- TcpConnectionPoolSettings.cs
- OracleBinary.cs
- UserControl.cs
- DataRow.cs
- MediaCommands.cs
- ContextProperty.cs
- DrawingGroup.cs
- PrimitiveSchema.cs
- EntityProviderServices.cs
- LiteralControl.cs
- GradientStop.cs
- BitConverter.cs
- SeverityFilter.cs
- Atom10FormatterFactory.cs
- MessageSmuggler.cs
- ListViewUpdatedEventArgs.cs
- XpsPackagingPolicy.cs
- WeakHashtable.cs
- Pointer.cs
- WebServiceMethodData.cs
- NativeWindow.cs
- RegisteredHiddenField.cs
- DocumentSequence.cs
- recordstate.cs
- Transform.cs
- HostedTransportConfigurationManager.cs
- WebExceptionStatus.cs
- ButtonChrome.cs
- OraclePermissionAttribute.cs
- WebPartTransformerCollection.cs
- WebPartsSection.cs
- ADConnectionHelper.cs
- CellCreator.cs
- AndCondition.cs
- PresentationSource.cs
- HostDesigntimeLicenseContext.cs
- XmlValidatingReaderImpl.cs
- DesignerHost.cs
- DataSourceXmlElementAttribute.cs
- WasHostedComPlusFactory.cs
- URLAttribute.cs
- PolyLineSegmentFigureLogic.cs
- WindowsScrollBarBits.cs
- StringReader.cs
- DrawingContextDrawingContextWalker.cs
- HyperLink.cs
- SendKeys.cs
- UnionCodeGroup.cs
- MediaPlayerState.cs
- NativeMethods.cs
- ConnectionManagementElement.cs
- EntityDataSourceContextDisposingEventArgs.cs
- FixedSOMFixedBlock.cs
- RoleManagerSection.cs
- TransactionBridge.cs
- HashCodeCombiner.cs
- UdpDiscoveryMessageFilter.cs
- HttpCacheVaryByContentEncodings.cs
- ActivityExecutionContextCollection.cs
- XamlClipboardData.cs
- DataSvcMapFileSerializer.cs
- WindowsHyperlink.cs
- TypeInformation.cs
- Help.cs
- TreeNodeBindingCollection.cs
- AddValidationError.cs
- selecteditemcollection.cs
- RbTree.cs
- AppDomainFactory.cs
- SqlProviderManifest.cs
- ListSortDescriptionCollection.cs
- OledbConnectionStringbuilder.cs
- InvalidDataException.cs
- MembershipValidatePasswordEventArgs.cs
- ConfigurationValues.cs
- Script.cs
- DataViewSettingCollection.cs
- CommandDevice.cs
- UrlMappingCollection.cs
- CodeChecksumPragma.cs
- BindUriHelper.cs
- UndoManager.cs
- TextView.cs
- Currency.cs
- PointValueSerializer.cs
- HostingEnvironmentWrapper.cs
- Vector3DAnimation.cs
- ScriptControlDescriptor.cs
- TableItemProviderWrapper.cs
- Selector.cs
- ACE.cs