Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- BufferedOutputStream.cs
- TabletDeviceInfo.cs
- SymbolResolver.cs
- ExplicitDiscriminatorMap.cs
- FormsAuthenticationUser.cs
- DocumentPageHost.cs
- OutKeywords.cs
- VSWCFServiceContractGenerator.cs
- PropertyMappingExceptionEventArgs.cs
- ISO2022Encoding.cs
- WorkflowRuntimeService.cs
- ListItemsCollectionEditor.cs
- Pens.cs
- MembershipUser.cs
- ClickablePoint.cs
- PageRanges.cs
- FileAuthorizationModule.cs
- LinqDataSourceEditData.cs
- IPHostEntry.cs
- securitymgrsite.cs
- CroppedBitmap.cs
- ConstraintConverter.cs
- ListViewGroupItemCollection.cs
- PropertyInformation.cs
- StringFormat.cs
- EntityUtil.cs
- HitTestWithPointDrawingContextWalker.cs
- MobileUITypeEditor.cs
- AsymmetricSignatureDeformatter.cs
- CompatibleComparer.cs
- ThreadStateException.cs
- SqlDataSourceView.cs
- DataGridCellEditEndingEventArgs.cs
- DbParameterHelper.cs
- RowTypePropertyElement.cs
- TextEditorMouse.cs
- CustomPopupPlacement.cs
- TimeSpanOrInfiniteValidator.cs
- PartitionResolver.cs
- WpfXamlMember.cs
- CodePrimitiveExpression.cs
- documentsequencetextpointer.cs
- ChineseLunisolarCalendar.cs
- StringFunctions.cs
- WsdlBuildProvider.cs
- DATA_BLOB.cs
- MessageSecurityVersion.cs
- DataGridLinkButton.cs
- DataExpression.cs
- ValidationSummary.cs
- TextTreeTextNode.cs
- PrePostDescendentsWalker.cs
- Ref.cs
- EnumUnknown.cs
- __ComObject.cs
- PropertyRef.cs
- TriggerBase.cs
- DesignerTransactionCloseEvent.cs
- MessageQueueConverter.cs
- IFormattable.cs
- Exceptions.cs
- UriSchemeKeyedCollection.cs
- CodeCommentStatement.cs
- altserialization.cs
- InvokePattern.cs
- StateInitialization.cs
- WorkflowWebService.cs
- MouseGestureValueSerializer.cs
- _AuthenticationState.cs
- TokenCreationParameter.cs
- SchemaSetCompiler.cs
- PackagePart.cs
- SingleConverter.cs
- ObjectParameter.cs
- DiscoveryMessageSequenceGenerator.cs
- WebControlParameterProxy.cs
- DynamicDocumentPaginator.cs
- Utilities.cs
- NegatedConstant.cs
- HostingEnvironmentException.cs
- SemaphoreFullException.cs
- BaseTemplateCodeDomTreeGenerator.cs
- PointConverter.cs
- XmlSchemaSimpleType.cs
- CollectionAdapters.cs
- InfoCardRSAPKCS1KeyExchangeDeformatter.cs
- CheckBoxFlatAdapter.cs
- CellQuery.cs
- TreeChangeInfo.cs
- cryptoapiTransform.cs
- CroppedBitmap.cs
- FileLoadException.cs
- SqlReorderer.cs
- AccessedThroughPropertyAttribute.cs
- Track.cs
- MonitorWrapper.cs
- OwnerDrawPropertyBag.cs
- BufferedStream.cs
- EdmMember.cs
- EntityKey.cs