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
- RuntimeConfigLKG.cs
- LinqDataView.cs
- Internal.cs
- HyperLinkField.cs
- ReadOnlyObservableCollection.cs
- XmlNamespaceManager.cs
- NotifyInputEventArgs.cs
- XmlSchemaInfo.cs
- StylusPointPropertyInfo.cs
- isolationinterop.cs
- CodeStatement.cs
- CheckoutException.cs
- GZipDecoder.cs
- CacheDict.cs
- GridEntry.cs
- OdbcInfoMessageEvent.cs
- RSACryptoServiceProvider.cs
- Type.cs
- LambdaCompiler.Logical.cs
- SwitchElementsCollection.cs
- XPathScanner.cs
- XmlRootAttribute.cs
- XmlExtensionFunction.cs
- RunWorkerCompletedEventArgs.cs
- EntityException.cs
- IDQuery.cs
- OciLobLocator.cs
- ExtenderProvidedPropertyAttribute.cs
- XsltArgumentList.cs
- Figure.cs
- ExpressionsCollectionConverter.cs
- XmlSchemaGroup.cs
- _NestedMultipleAsyncResult.cs
- SettingsPropertyCollection.cs
- WebPartDisplayMode.cs
- ExpandCollapseIsCheckedConverter.cs
- SequenceRangeCollection.cs
- StylusEventArgs.cs
- PseudoWebRequest.cs
- BinaryObjectWriter.cs
- ParseNumbers.cs
- SourceFileBuildProvider.cs
- MissingMemberException.cs
- XmlHelper.cs
- ErrorStyle.cs
- MatrixKeyFrameCollection.cs
- ValidationVisibilityAttribute.cs
- ZipIOCentralDirectoryBlock.cs
- DataBindingCollection.cs
- InternalSafeNativeMethods.cs
- Animatable.cs
- BindMarkupExtensionSerializer.cs
- Matrix3DConverter.cs
- ConfigurationFileMap.cs
- _AutoWebProxyScriptEngine.cs
- Base64Decoder.cs
- ExtendedPropertiesHandler.cs
- SequenceDesignerAccessibleObject.cs
- GenericRootAutomationPeer.cs
- NotConverter.cs
- ConfigUtil.cs
- XmlSignatureManifest.cs
- View.cs
- CacheAxisQuery.cs
- RelatedImageListAttribute.cs
- HttpContext.cs
- XPathCompileException.cs
- IgnoreFlushAndCloseStream.cs
- PassportAuthentication.cs
- BufferedGraphics.cs
- CodeExpressionCollection.cs
- StylusPlugin.cs
- DataGridTablesFactory.cs
- SimpleWebHandlerParser.cs
- PresentationTraceSources.cs
- RectangleHotSpot.cs
- AccessKeyManager.cs
- CompiledQuery.cs
- DataTrigger.cs
- IdleTimeoutMonitor.cs
- XmlMembersMapping.cs
- IsolatedStorageFilePermission.cs
- TdsValueSetter.cs
- MimeWriter.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- SerializerProvider.cs
- StrokeCollection.cs
- DbSetClause.cs
- Composition.cs
- FormView.cs
- CommandID.cs
- BaseDataBoundControlDesigner.cs
- ButtonBase.cs
- UrlAuthFailedErrorFormatter.cs
- IpcChannel.cs
- DispatcherProcessingDisabled.cs
- WebPartsPersonalizationAuthorization.cs
- DataColumnCollection.cs
- AddInStore.cs
- WebPartCatalogCloseVerb.cs