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
- FontUnit.cs
- XmlAttributeOverrides.cs
- QilDataSource.cs
- DoubleKeyFrameCollection.cs
- InProcStateClientManager.cs
- PipelineModuleStepContainer.cs
- ParallelEnumerable.cs
- BigInt.cs
- TypeUtil.cs
- InitializationEventAttribute.cs
- XmlValidatingReader.cs
- XmlQueryRuntime.cs
- ExtensionElementCollection.cs
- ReadOnlyHierarchicalDataSourceView.cs
- BindingBase.cs
- regiisutil.cs
- prefixendpointaddressmessagefilter.cs
- FileSystemInfo.cs
- PublisherMembershipCondition.cs
- WrappedDispatcherException.cs
- DataGridViewHitTestInfo.cs
- Trace.cs
- MatrixUtil.cs
- MetadataItemCollectionFactory.cs
- Function.cs
- SecureEnvironment.cs
- SafePEFileHandle.cs
- Statements.cs
- DependencyObjectValidator.cs
- DrawingAttributeSerializer.cs
- SqlFacetAttribute.cs
- WindowAutomationPeer.cs
- SqlFunctionAttribute.cs
- formatstringdialog.cs
- EmbeddedMailObject.cs
- RepeaterItemCollection.cs
- _ProxyChain.cs
- OracleConnectionString.cs
- DependsOnAttribute.cs
- NamedObject.cs
- DataSourceProvider.cs
- TextParagraphCache.cs
- FontDriver.cs
- CellCreator.cs
- CollectionViewGroupRoot.cs
- HtmlContainerControl.cs
- ProxyWebPart.cs
- PropertyItem.cs
- KoreanCalendar.cs
- WebHttpElement.cs
- RectangleHotSpot.cs
- XslException.cs
- WindowsSysHeader.cs
- SqlBulkCopy.cs
- ApplicationInfo.cs
- HtmlHead.cs
- GlyphRunDrawing.cs
- DmlSqlGenerator.cs
- EventItfInfo.cs
- DelegatingConfigHost.cs
- TextBox.cs
- StateMachineTimers.cs
- OptimalBreakSession.cs
- MergeFilterQuery.cs
- UnicastIPAddressInformationCollection.cs
- HMACMD5.cs
- WebPartDeleteVerb.cs
- TransactionScopeDesigner.cs
- SwitchAttribute.cs
- ConfigPathUtility.cs
- ProcessProtocolHandler.cs
- WebBrowserNavigatingEventHandler.cs
- StorageModelBuildProvider.cs
- ServiceDescriptionReflector.cs
- TextPattern.cs
- EventArgs.cs
- SqlTransaction.cs
- TextTreeExtractElementUndoUnit.cs
- XslNumber.cs
- TemplatedMailWebEventProvider.cs
- InfoCardTrace.cs
- CacheMemory.cs
- PixelShader.cs
- MissingManifestResourceException.cs
- EdmComplexTypeAttribute.cs
- RegexGroup.cs
- XsdBuildProvider.cs
- ExpandCollapsePattern.cs
- BamlLocalizableResource.cs
- EdmComplexTypeAttribute.cs
- ZipIOExtraFieldPaddingElement.cs
- LogConverter.cs
- ServiceTimeoutsBehavior.cs
- ReflectionUtil.cs
- GenericWebPart.cs
- WebControlsSection.cs
- BrowserCapabilitiesFactory.cs
- BuildResult.cs
- RectangleHotSpot.cs
- TreeViewCancelEvent.cs