Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Core / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- RepeatButton.cs
- CheckoutException.cs
- String.cs
- UrlAuthFailedErrorFormatter.cs
- PaintValueEventArgs.cs
- ScriptComponentDescriptor.cs
- EntityDescriptor.cs
- PenLineJoinValidation.cs
- Utils.cs
- StylusPointPropertyInfo.cs
- Substitution.cs
- CodePropertyReferenceExpression.cs
- MimePart.cs
- NumericUpDown.cs
- DataGridViewCellFormattingEventArgs.cs
- HwndProxyElementProvider.cs
- TrustLevelCollection.cs
- HandlerWithFactory.cs
- StringComparer.cs
- SwitchLevelAttribute.cs
- CalendarSelectionChangedEventArgs.cs
- SpellerStatusTable.cs
- BrushProxy.cs
- EntityFrameworkVersions.cs
- HttpsChannelFactory.cs
- EventProvider.cs
- CopyCodeAction.cs
- SelectionPattern.cs
- HttpPostLocalhostServerProtocol.cs
- PropertyPath.cs
- LexicalChunk.cs
- UnauthorizedAccessException.cs
- ToggleButton.cs
- FlowDocumentFormatter.cs
- RecordManager.cs
- DesignerAttributeInfo.cs
- DataFormats.cs
- PeerNameResolver.cs
- TextProviderWrapper.cs
- AnnouncementSendsAsyncResult.cs
- Brushes.cs
- SQLDoubleStorage.cs
- StringUtil.cs
- DisplayNameAttribute.cs
- SqlTrackingWorkflowInstance.cs
- ProtocolsConfigurationEntry.cs
- DesignerActionUIService.cs
- ComplexLine.cs
- ContainerFilterService.cs
- SoundPlayerAction.cs
- Int64Converter.cs
- DocumentPageHost.cs
- GetPageNumberCompletedEventArgs.cs
- panel.cs
- Visitors.cs
- TableRowCollection.cs
- TextReader.cs
- DataGridViewTopLeftHeaderCell.cs
- DocumentOrderQuery.cs
- EndEvent.cs
- RequestQueue.cs
- TreeNodeEventArgs.cs
- XmlReaderSettings.cs
- SynchronizedInputAdaptor.cs
- TextTreeDeleteContentUndoUnit.cs
- UnsafeNativeMethods.cs
- InputDevice.cs
- Invariant.cs
- FederatedMessageSecurityOverHttp.cs
- TimeManager.cs
- SchemaNamespaceManager.cs
- DispatcherTimer.cs
- DeploymentExceptionMapper.cs
- Enlistment.cs
- InfocardClientCredentials.cs
- EntityDataSourceDataSelection.cs
- XDRSchema.cs
- _HeaderInfo.cs
- BaseParser.cs
- ItemList.cs
- DSASignatureDeformatter.cs
- InfiniteIntConverter.cs
- ReceiveContextCollection.cs
- StyleHelper.cs
- XmlAttributeCollection.cs
- WeakReadOnlyCollection.cs
- ParserStreamGeometryContext.cs
- FixedSOMTableCell.cs
- OdbcConnectionOpen.cs
- DesignerSerializationManager.cs
- PropertyChangeTracker.cs
- GlyphingCache.cs
- UiaCoreApi.cs
- ExpressionBuilder.cs
- RegexGroupCollection.cs
- EventSourceCreationData.cs
- SafeRightsManagementHandle.cs
- CompositeTypefaceMetrics.cs
- FullTrustAssembliesSection.cs
- ObjectQuery_EntitySqlExtensions.cs