Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- RectangleHotSpot.cs
- Attachment.cs
- HeaderedContentControl.cs
- DelegatingTypeDescriptionProvider.cs
- SubMenuStyleCollectionEditor.cs
- GridItemProviderWrapper.cs
- oledbmetadatacolumnnames.cs
- PropertiesTab.cs
- InvalidAsynchronousStateException.cs
- StateDesigner.CommentLayoutGlyph.cs
- VariantWrapper.cs
- MetadataSource.cs
- DataGridItemCollection.cs
- ErrorsHelper.cs
- LocalFileSettingsProvider.cs
- KeyFrames.cs
- Grammar.cs
- DataRowComparer.cs
- SqlNotificationRequest.cs
- Util.cs
- SmtpFailedRecipientException.cs
- DrawingGroup.cs
- TextRangeEditLists.cs
- ShaderRenderModeValidation.cs
- SchemaNamespaceManager.cs
- EventLogPermissionEntry.cs
- WebBrowsableAttribute.cs
- HtmlTitle.cs
- CompilationRelaxations.cs
- StylusEditingBehavior.cs
- GeneralTransform.cs
- TextCharacters.cs
- PropertyChangedEventArgs.cs
- IResourceProvider.cs
- WindowsScrollBarBits.cs
- HtmlInputCheckBox.cs
- CodeDirectionExpression.cs
- DropDownButton.cs
- AdRotator.cs
- LoginUtil.cs
- ActivityScheduledQuery.cs
- ToolStripItem.cs
- CellParaClient.cs
- CfgParser.cs
- X509SubjectKeyIdentifierClause.cs
- InProcStateClientManager.cs
- MobileTextWriter.cs
- TreeWalkHelper.cs
- ParseChildrenAsPropertiesAttribute.cs
- Timer.cs
- DebugView.cs
- WindowsSolidBrush.cs
- OutputCacheProfileCollection.cs
- CollectionAdapters.cs
- WindowsGraphicsWrapper.cs
- AutomationPeer.cs
- ObjectStateEntryDbUpdatableDataRecord.cs
- DrawingImage.cs
- System.Data_BID.cs
- linebase.cs
- RenamedEventArgs.cs
- EntityDataReader.cs
- LayoutTable.cs
- DBSqlParser.cs
- ReadingWritingEntityEventArgs.cs
- TextCompositionEventArgs.cs
- ToolStripItemEventArgs.cs
- BulletedList.cs
- xamlnodes.cs
- StylusPointPropertyId.cs
- Duration.cs
- TextContainer.cs
- CodeDomLoader.cs
- DSACryptoServiceProvider.cs
- DesignerExtenders.cs
- WebServiceMethodData.cs
- VisualStyleTypesAndProperties.cs
- MergeLocalizationDirectives.cs
- EditorPartCollection.cs
- EncoderExceptionFallback.cs
- MachineKeyConverter.cs
- BamlBinaryWriter.cs
- ActionItem.cs
- TextMetrics.cs
- XmlQueryTypeFactory.cs
- InvalidPrinterException.cs
- safex509handles.cs
- InfoCardX509Validator.cs
- DuplexSecurityProtocolFactory.cs
- EditModeSwitchButton.cs
- BindingContext.cs
- ServiceDeploymentInfo.cs
- GestureRecognizer.cs
- ErasingStroke.cs
- IdentityReference.cs
- HttpPostServerProtocol.cs
- XmlQualifiedName.cs
- CngProvider.cs
- ProcessHostFactoryHelper.cs
- ScriptControl.cs