Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- WindowShowOrOpenTracker.cs
- LayoutUtils.cs
- FacetValues.cs
- ContentValidator.cs
- ValidatorCollection.cs
- GenericAuthenticationEventArgs.cs
- ServiceProviders.cs
- Errors.cs
- Region.cs
- Peer.cs
- CustomTypeDescriptor.cs
- AnimationStorage.cs
- FormViewInsertedEventArgs.cs
- UIElementCollection.cs
- RuntimeHelpers.cs
- XmlSerializableServices.cs
- BitmapSourceSafeMILHandle.cs
- ZipIOLocalFileBlock.cs
- SchemaElement.cs
- CommonProperties.cs
- SessionState.cs
- BitVector32.cs
- PopupEventArgs.cs
- MatrixUtil.cs
- AdornerPresentationContext.cs
- SymmetricSecurityBindingElement.cs
- BamlWriter.cs
- DocumentViewerAutomationPeer.cs
- DataStreamFromComStream.cs
- WebPart.cs
- HttpContextWrapper.cs
- FormatterConverter.cs
- LabelLiteral.cs
- ProcessThread.cs
- AsymmetricSignatureFormatter.cs
- SchemaNames.cs
- AccessText.cs
- DataRecordInternal.cs
- PublishLicense.cs
- QuaternionConverter.cs
- ObjectStateEntryDbUpdatableDataRecord.cs
- ViewBox.cs
- DefaultValueAttribute.cs
- EntityDataSourceColumn.cs
- ProtocolsConfigurationEntry.cs
- GeometryGroup.cs
- ResourceExpression.cs
- DrawingContextWalker.cs
- SecurityTokenParametersEnumerable.cs
- DataGridPageChangedEventArgs.cs
- ContextMenuAutomationPeer.cs
- VisualStyleTypesAndProperties.cs
- FileVersionInfo.cs
- Error.cs
- DrawingContext.cs
- SystemResources.cs
- ConfigXmlAttribute.cs
- MatrixCamera.cs
- CodeTypeConstructor.cs
- AssociatedControlConverter.cs
- TemplatedWizardStep.cs
- BamlBinaryWriter.cs
- ReadOnlyDataSource.cs
- SrgsDocumentParser.cs
- ConfigurationSectionCollection.cs
- SqlNodeAnnotation.cs
- ScaleTransform.cs
- SafeReversePInvokeHandle.cs
- SemaphoreFullException.cs
- PositiveTimeSpanValidator.cs
- ValidationErrorEventArgs.cs
- ValueUtilsSmi.cs
- BitmapSourceSafeMILHandle.cs
- ZoneLinkButton.cs
- columnmapkeybuilder.cs
- FontWeight.cs
- MultipartContentParser.cs
- SiteMapNodeItemEventArgs.cs
- ValidationHelpers.cs
- NullRuntimeConfig.cs
- XamlReader.cs
- MsmqIntegrationElement.cs
- AutomationAttributeInfo.cs
- QueryCursorEventArgs.cs
- XmlProcessingInstruction.cs
- RectAnimation.cs
- KeyBinding.cs
- DocumentApplicationJournalEntry.cs
- XmlQueryType.cs
- OrderPreservingSpoolingTask.cs
- CodeExporter.cs
- XmlSchemaDatatype.cs
- SectionVisual.cs
- FontFamilyIdentifier.cs
- PageBuildProvider.cs
- DurableOperationAttribute.cs
- TypeDependencyAttribute.cs
- AudioFileOut.cs
- SignatureHelper.cs
- CultureTableRecord.cs