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
- UIElement3D.cs
- StorageEntityContainerMapping.cs
- DefaultPerformanceCounters.cs
- SynchronizationLockException.cs
- XmlSchemaInferenceException.cs
- NameValueConfigurationElement.cs
- TcpTransportManager.cs
- XmlTextReader.cs
- XmlAttributeCollection.cs
- BuildManagerHost.cs
- DesignerAttribute.cs
- CharAnimationBase.cs
- GenericTextProperties.cs
- FileDialog_Vista.cs
- TransformGroup.cs
- UDPClient.cs
- QueuePathEditor.cs
- PublishLicense.cs
- XMLSyntaxException.cs
- HttpCookie.cs
- CompressEmulationStream.cs
- BinaryObjectReader.cs
- NamespaceQuery.cs
- DecoderFallback.cs
- COMException.cs
- _KerberosClient.cs
- DataRecordInternal.cs
- MasterPageCodeDomTreeGenerator.cs
- XmlPreloadedResolver.cs
- CommonObjectSecurity.cs
- UnsafeNativeMethods.cs
- TreeView.cs
- HttpCapabilitiesEvaluator.cs
- PointCollectionValueSerializer.cs
- DocumentPageHost.cs
- ConnectionManagementElement.cs
- SiteMapSection.cs
- WebMessageEncodingBindingElement.cs
- NamespaceList.cs
- PackWebRequestFactory.cs
- CornerRadiusConverter.cs
- DefaultValueAttribute.cs
- XamlTreeBuilderBamlRecordWriter.cs
- DataReceivedEventArgs.cs
- QueryPageSettingsEventArgs.cs
- Activity.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- InfoCardRSAPKCS1KeyExchangeDeformatter.cs
- SetIndexBinder.cs
- XmlText.cs
- basecomparevalidator.cs
- Debug.cs
- TableCell.cs
- XmlSchemaSubstitutionGroup.cs
- GroupDescription.cs
- SqlClientFactory.cs
- IndexedString.cs
- EventBookmark.cs
- ObservableCollectionDefaultValueFactory.cs
- DnsCache.cs
- Path.cs
- TraceInternal.cs
- HtmlSelect.cs
- cookieexception.cs
- DataRecord.cs
- XmlUtilWriter.cs
- StringCollection.cs
- RuntimeEnvironment.cs
- XmlSerializerNamespaces.cs
- ScriptServiceAttribute.cs
- SessionStateItemCollection.cs
- ServiceNameElement.cs
- SafeEventLogWriteHandle.cs
- ReferencedCollectionType.cs
- PropertyInfoSet.cs
- MemberInfoSerializationHolder.cs
- EntityDataSourceStatementEditorForm.cs
- ConstraintCollection.cs
- StringArrayConverter.cs
- KnownTypesProvider.cs
- TimeSpan.cs
- ReservationNotFoundException.cs
- D3DImage.cs
- odbcmetadatafactory.cs
- SyndicationDeserializer.cs
- UniqueIdentifierService.cs
- MemoryStream.cs
- ContentPosition.cs
- ParserStack.cs
- WebReferencesBuildProvider.cs
- DateTimeParse.cs
- AddInContractAttribute.cs
- TreeNodeBindingCollection.cs
- FastEncoderStatics.cs
- designeractionlistschangedeventargs.cs
- UnsafeNativeMethods.cs
- OrderByQueryOptionExpression.cs
- CommandHelper.cs
- PagedDataSource.cs
- ReflectionTypeLoadException.cs