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
- EventDescriptorCollection.cs
- ModuleConfigurationInfo.cs
- ResXResourceReader.cs
- Boolean.cs
- FunctionImportMapping.cs
- ThumbButtonInfoCollection.cs
- OracleMonthSpan.cs
- BamlWriter.cs
- ProfilePropertyMetadata.cs
- SecurityTokenProvider.cs
- ClickablePoint.cs
- ProxyManager.cs
- ControlBindingsCollection.cs
- FixUp.cs
- _LocalDataStore.cs
- BookmarkUndoUnit.cs
- ButtonField.cs
- HttpListenerResponse.cs
- QilXmlReader.cs
- AliasedSlot.cs
- XmlTextReader.cs
- MDIControlStrip.cs
- Overlapped.cs
- TemplateBamlRecordReader.cs
- CounterSample.cs
- HtmlUtf8RawTextWriter.cs
- HtmlEmptyTagControlBuilder.cs
- DragDeltaEventArgs.cs
- DetailsViewModeEventArgs.cs
- EpmContentDeSerializerBase.cs
- RequestCacheManager.cs
- CqlBlock.cs
- TreeNodeBinding.cs
- UpdateTracker.cs
- ToolboxItemCollection.cs
- querybuilder.cs
- LoginCancelEventArgs.cs
- ReferenceEqualityComparer.cs
- StrongBox.cs
- Select.cs
- wmiutil.cs
- LinqMaximalSubtreeNominator.cs
- ValueQuery.cs
- TextLineResult.cs
- EventSetterHandlerConverter.cs
- ProviderMetadataCachedInformation.cs
- EntityChangedParams.cs
- CalendarDesigner.cs
- VisemeEventArgs.cs
- EntityDataSourceDesigner.cs
- CustomAttributeBuilder.cs
- HtmlTableCell.cs
- PropertyItem.cs
- Rect3DValueSerializer.cs
- FormViewPageEventArgs.cs
- CharAnimationUsingKeyFrames.cs
- PingOptions.cs
- UIElementAutomationPeer.cs
- ExpressionBuilder.cs
- WpfKnownMemberInvoker.cs
- FixUp.cs
- WebPermission.cs
- DocumentSchemaValidator.cs
- InstanceNotReadyException.cs
- UIServiceHelper.cs
- CreationContext.cs
- OracleConnectionFactory.cs
- WindowsListView.cs
- Attribute.cs
- IndexOutOfRangeException.cs
- ChtmlPageAdapter.cs
- AnnotationAuthorChangedEventArgs.cs
- SafeCertificateContext.cs
- ScrollProviderWrapper.cs
- XamlRtfConverter.cs
- Exceptions.cs
- MenuCommands.cs
- AggregateNode.cs
- UnknownBitmapEncoder.cs
- UndoEngine.cs
- X509CertificateEndpointIdentity.cs
- OperationCanceledException.cs
- SmtpSection.cs
- AssemblyInfo.cs
- XmlDictionaryReader.cs
- ArraySubsetEnumerator.cs
- RecognitionEventArgs.cs
- DmlSqlGenerator.cs
- CodeGeneratorOptions.cs
- SemaphoreFullException.cs
- RuntimeCompatibilityAttribute.cs
- TimeSpanMinutesOrInfiniteConverter.cs
- UrlAuthorizationModule.cs
- PropertyEmitterBase.cs
- ProcessHostMapPath.cs
- MenuEventArgs.cs
- Win32Exception.cs
- LicenseContext.cs
- TimerElapsedEvenArgs.cs
- ListViewCommandEventArgs.cs