Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / wpf / src / Base / System / Windows / DependencyPropertyKey.cs / 1 / DependencyPropertyKey.cs
using System; using System.Diagnostics; // For Assert namespace System.Windows { ////// Authorization key for access to read-only DependencyProperty. /// Acquired via DependencyProperty.RegisterReadOnly/RegisterAttachedReadOnly /// and used in DependencyObject.SetValue/ClearValue. /// ////// This object can have a transient state upon creation where the _dp /// field can be null until initialized. However in use _dp needs to always /// be non-null. Otherwise it is treated as a key that can't unlock anything. /// (When needed, this property is available via the static constant NoAccess. /// public sealed class DependencyPropertyKey { ////// The DependencyProperty associated with this access key. This key /// does not authorize access to any other property. /// public DependencyProperty DependencyProperty { get { return _dp; } } internal DependencyPropertyKey(DependencyProperty dp) { _dp = dp; } ////// Override the metadata of a property that is already secured with /// this key. /// public void OverrideMetadata( Type forType, PropertyMetadata typeMetadata ) { if( _dp == null ) { throw new InvalidOperationException(); } _dp.OverrideMetadata( forType, typeMetadata, this ); } // This is not a property setter because we can't have a public // property getter and a internal property setter on the same property. internal void SetDependencyProperty(DependencyProperty dp) { Debug.Assert(_dp==null,"This should only be used when we need a placeholder and have a temporary value of null. It should not be used to change this property."); _dp = dp; } private DependencyProperty _dp = null; } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. using System; using System.Diagnostics; // For Assert namespace System.Windows { ////// Authorization key for access to read-only DependencyProperty. /// Acquired via DependencyProperty.RegisterReadOnly/RegisterAttachedReadOnly /// and used in DependencyObject.SetValue/ClearValue. /// ////// This object can have a transient state upon creation where the _dp /// field can be null until initialized. However in use _dp needs to always /// be non-null. Otherwise it is treated as a key that can't unlock anything. /// (When needed, this property is available via the static constant NoAccess. /// public sealed class DependencyPropertyKey { ////// The DependencyProperty associated with this access key. This key /// does not authorize access to any other property. /// public DependencyProperty DependencyProperty { get { return _dp; } } internal DependencyPropertyKey(DependencyProperty dp) { _dp = dp; } ////// Override the metadata of a property that is already secured with /// this key. /// public void OverrideMetadata( Type forType, PropertyMetadata typeMetadata ) { if( _dp == null ) { throw new InvalidOperationException(); } _dp.OverrideMetadata( forType, typeMetadata, this ); } // This is not a property setter because we can't have a public // property getter and a internal property setter on the same property. internal void SetDependencyProperty(DependencyProperty dp) { Debug.Assert(_dp==null,"This should only be used when we need a placeholder and have a temporary value of null. It should not be used to change this property."); _dp = dp; } private DependencyProperty _dp = null; } } // 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
- base64Transforms.cs
- MorphHelpers.cs
- ADMembershipUser.cs
- Tracking.cs
- ContractType.cs
- __TransparentProxy.cs
- DataSourceGeneratorException.cs
- MD5.cs
- OrderPreservingPipeliningSpoolingTask.cs
- DesignSurfaceServiceContainer.cs
- TypeSchema.cs
- StopStoryboard.cs
- MetadataArtifactLoaderResource.cs
- CompleteWizardStep.cs
- UriScheme.cs
- ToolStripItemDesigner.cs
- WebConfigurationHost.cs
- DataControlFieldCollection.cs
- AssemblyBuilder.cs
- CodeArgumentReferenceExpression.cs
- DoubleAnimationClockResource.cs
- CellNormalizer.cs
- MultiDataTrigger.cs
- ConnectionInterfaceCollection.cs
- StylusOverProperty.cs
- MemberAccessException.cs
- Int32Storage.cs
- DrawingContextWalker.cs
- TextHidden.cs
- As.cs
- DelegatingConfigHost.cs
- Aggregates.cs
- Control.cs
- RawKeyboardInputReport.cs
- SystemParameters.cs
- PersonalizationProviderHelper.cs
- MouseGesture.cs
- WebConfigurationFileMap.cs
- TextElement.cs
- IBuiltInEvidence.cs
- Route.cs
- oledbconnectionstring.cs
- ResumeStoryboard.cs
- _NegoState.cs
- WebPartManager.cs
- DebugInfoExpression.cs
- EqualityComparer.cs
- ObjectSpanRewriter.cs
- Socket.cs
- DrawingGroupDrawingContext.cs
- StopStoryboard.cs
- InvalidPrinterException.cs
- TextRunCache.cs
- RightsManagementEncryptionTransform.cs
- XPathCompileException.cs
- AssemblyBuilder.cs
- LoginName.cs
- EventManager.cs
- IDispatchConstantAttribute.cs
- TrustLevel.cs
- BuildManagerHost.cs
- File.cs
- FunctionDetailsReader.cs
- IsolatedStorageSecurityState.cs
- PointConverter.cs
- RenderTargetBitmap.cs
- RecordsAffectedEventArgs.cs
- ImageMapEventArgs.cs
- TableItemProviderWrapper.cs
- ReturnEventArgs.cs
- ConfigurationValidatorBase.cs
- SR.cs
- InkPresenter.cs
- DataGridViewDataErrorEventArgs.cs
- Viewport3DAutomationPeer.cs
- ZipIORawDataFileBlock.cs
- LinqDataSourceValidationException.cs
- UnknownBitmapEncoder.cs
- WebPartEventArgs.cs
- EntityDataSourceQueryBuilder.cs
- ResolveCriteriaApril2005.cs
- DesignerCategoryAttribute.cs
- JsonServiceDocumentSerializer.cs
- PolicyChain.cs
- AutomationProperties.cs
- DataGridLengthConverter.cs
- _LazyAsyncResult.cs
- ExeContext.cs
- ExceptionRoutedEventArgs.cs
- DataSourceControl.cs
- RightsManagementSuppressedStream.cs
- XmlReaderDelegator.cs
- Byte.cs
- LassoHelper.cs
- BitmapEffectDrawingContent.cs
- ExceptionHelpers.cs
- BaseTemplateCodeDomTreeGenerator.cs
- ImageSourceTypeConverter.cs
- TextEffectResolver.cs
- _NetRes.cs