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
- FacetValueContainer.cs
- ParsedAttributeCollection.cs
- DataAdapter.cs
- Package.cs
- DataMemberFieldConverter.cs
- SqlCommandBuilder.cs
- ResourcesBuildProvider.cs
- SoapEnumAttribute.cs
- CodeTypeReferenceCollection.cs
- RandomNumberGenerator.cs
- Label.cs
- WpfMemberInvoker.cs
- ServiceDurableInstanceContextProvider.cs
- TraceSection.cs
- XmlBufferReader.cs
- ProjectionPathSegment.cs
- Rotation3D.cs
- MemberDomainMap.cs
- ServiceRouteHandler.cs
- GlyphElement.cs
- UTF7Encoding.cs
- XmlDocumentSerializer.cs
- XmlBinaryReader.cs
- SmiEventSink_Default.cs
- ObjectDataSourceEventArgs.cs
- AssemblyHash.cs
- Rotation3D.cs
- SqlProfileProvider.cs
- Operand.cs
- Effect.cs
- SafeProcessHandle.cs
- EntityTypeEmitter.cs
- basecomparevalidator.cs
- AudioFormatConverter.cs
- dataSvcMapFileLoader.cs
- ArithmeticException.cs
- SqlServices.cs
- ObjectDataSourceChooseTypePanel.cs
- DataGridRelationshipRow.cs
- XMLUtil.cs
- UIHelper.cs
- CultureSpecificStringDictionary.cs
- TextElementEnumerator.cs
- _CacheStreams.cs
- RelatedView.cs
- TextDecorations.cs
- SupportsEventValidationAttribute.cs
- AssertFilter.cs
- QueryOutputWriter.cs
- StrokeCollectionDefaultValueFactory.cs
- TTSEngineProxy.cs
- XmlSchemaSimpleContentRestriction.cs
- DictionaryItemsCollection.cs
- MailMessageEventArgs.cs
- CollectionCodeDomSerializer.cs
- DataControlLinkButton.cs
- SequentialOutput.cs
- CompositeDataBoundControl.cs
- Root.cs
- EntityContainerEmitter.cs
- WinInet.cs
- MenuItemStyle.cs
- TemplateControl.cs
- TypeFieldSchema.cs
- ArgumentDirectionHelper.cs
- UrlMappingsModule.cs
- LogManagementAsyncResult.cs
- StateManagedCollection.cs
- RSACryptoServiceProvider.cs
- Base64Stream.cs
- MimeBasePart.cs
- AssociationSet.cs
- AbstractSvcMapFileLoader.cs
- XPathSingletonIterator.cs
- StrongNamePublicKeyBlob.cs
- BackoffTimeoutHelper.cs
- RegionInfo.cs
- WebPartConnectionsDisconnectVerb.cs
- SupportsEventValidationAttribute.cs
- Int64AnimationUsingKeyFrames.cs
- Button.cs
- OneToOneMappingSerializer.cs
- PrePostDescendentsWalker.cs
- XmlTextReaderImplHelpers.cs
- BlurBitmapEffect.cs
- WebSysDescriptionAttribute.cs
- FileSystemEventArgs.cs
- InProcStateClientManager.cs
- ContentType.cs
- RuntimeIdentifierPropertyAttribute.cs
- ProvidersHelper.cs
- ManipulationInertiaStartingEventArgs.cs
- ToolStripLabel.cs
- WsdlEndpointConversionContext.cs
- CacheChildrenQuery.cs
- SQlBooleanStorage.cs
- WebSysDescriptionAttribute.cs
- CompressStream.cs
- RecordManager.cs
- StyleTypedPropertyAttribute.cs