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
- TransactionException.cs
- AnimationClock.cs
- FunctionQuery.cs
- MethodMessage.cs
- Monitor.cs
- DrawingContextWalker.cs
- DataExpression.cs
- CustomAttributeBuilder.cs
- TileBrush.cs
- ConnectionStringsExpressionBuilder.cs
- FatalException.cs
- NavigationWindow.cs
- MethodExpr.cs
- SmtpSpecifiedPickupDirectoryElement.cs
- WmlCommandAdapter.cs
- ConnectionPointCookie.cs
- StateRuntime.cs
- SwitchExpression.cs
- HttpCapabilitiesBase.cs
- ArraySortHelper.cs
- XmlElementAttribute.cs
- SqlParameter.cs
- ApplicationServiceManager.cs
- ZipIOLocalFileHeader.cs
- WebPartManagerInternals.cs
- relpropertyhelper.cs
- EntityContainerEmitter.cs
- MediaPlayer.cs
- oledbmetadatacolumnnames.cs
- ReferenceAssemblyAttribute.cs
- ContextActivityUtils.cs
- DataView.cs
- TextTreePropertyUndoUnit.cs
- ImageSource.cs
- Schedule.cs
- XmlSerializationWriter.cs
- Stack.cs
- DataViewListener.cs
- File.cs
- SafeViewOfFileHandle.cs
- TaskFormBase.cs
- ProcessHostConfigUtils.cs
- CurrentChangingEventManager.cs
- WinInetCache.cs
- TimeManager.cs
- ChannelSinkStacks.cs
- GridSplitterAutomationPeer.cs
- DataBoundLiteralControl.cs
- SplitContainer.cs
- HttpServerUtilityWrapper.cs
- AmbientLight.cs
- LinqExpressionNormalizer.cs
- PolicyValidationException.cs
- SessionEndedEventArgs.cs
- TextTrailingCharacterEllipsis.cs
- CompressionTransform.cs
- InternalConfigRoot.cs
- MergePropertyDescriptor.cs
- RequestCachingSection.cs
- TreeNodeCollectionEditor.cs
- WebPartCatalogCloseVerb.cs
- HitTestResult.cs
- XPathNavigatorReader.cs
- Point4DValueSerializer.cs
- FilterElement.cs
- TimeSpanSecondsConverter.cs
- TempFiles.cs
- NumberFunctions.cs
- ConnectionPointCookie.cs
- WebControlAdapter.cs
- TemplateKey.cs
- TypeNameParser.cs
- SoapParser.cs
- HandlerMappingMemo.cs
- XmlLoader.cs
- XmlSerializationReader.cs
- HTTPRemotingHandler.cs
- SafeRegistryKey.cs
- ConstraintStruct.cs
- COMException.cs
- UpdateCompiler.cs
- EnumConverter.cs
- EventProxy.cs
- HttpServerUtilityBase.cs
- StreamUpdate.cs
- EnumValAlphaComparer.cs
- XmlObjectSerializerContext.cs
- XPathNavigator.cs
- ViewStateException.cs
- ImageButton.cs
- AnnotationObservableCollection.cs
- OracleRowUpdatingEventArgs.cs
- RenderData.cs
- MethodExpr.cs
- AutoScrollHelper.cs
- DataControlFieldHeaderCell.cs
- HMACMD5.cs
- ClientScriptManager.cs
- OraclePermission.cs
- DiagnosticsConfiguration.cs