Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Base / System / Windows / DependencyPropertyKey.cs / 1305600 / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- RuleSettings.cs
- ThreadExceptionDialog.cs
- _ConnectOverlappedAsyncResult.cs
- ConsoleCancelEventArgs.cs
- ApplicationServicesHostFactory.cs
- __Error.cs
- HtmlTableCellCollection.cs
- ThreadAbortException.cs
- SQLBinary.cs
- DataServiceRequest.cs
- SessionPageStateSection.cs
- WindowsScrollBarBits.cs
- TypeBuilder.cs
- X509Chain.cs
- _ProxyChain.cs
- __TransparentProxy.cs
- ScrollViewerAutomationPeer.cs
- XmlObjectSerializerWriteContext.cs
- CodeDirectoryCompiler.cs
- DataContractSet.cs
- CommandBinding.cs
- StrongName.cs
- DataControlFieldCollection.cs
- Vector.cs
- TextTreeExtractElementUndoUnit.cs
- XmlUtf8RawTextWriter.cs
- CatalogPartCollection.cs
- CategoryNameCollection.cs
- SQLString.cs
- TraceContext.cs
- TextContainerChangedEventArgs.cs
- FileLogRecordHeader.cs
- RemotingException.cs
- LayoutTableCell.cs
- PeerNameResolver.cs
- EventDescriptor.cs
- FormatException.cs
- ApplicationId.cs
- KoreanCalendar.cs
- TextTreePropertyUndoUnit.cs
- HttpProtocolReflector.cs
- FullTextLine.cs
- _ProxyRegBlob.cs
- ImpersonationContext.cs
- WeakKeyDictionary.cs
- InstanceOwner.cs
- XmlHierarchicalDataSourceView.cs
- ProviderSettings.cs
- ExpandableObjectConverter.cs
- ScriptingRoleServiceSection.cs
- StatusBarItemAutomationPeer.cs
- CellIdBoolean.cs
- SQLDecimal.cs
- CustomAttributeSerializer.cs
- ResourcePermissionBase.cs
- XmlSchemaAttributeGroup.cs
- EmptyQuery.cs
- InitializationEventAttribute.cs
- DSACryptoServiceProvider.cs
- CommonDialog.cs
- SqlWorkflowPersistenceService.cs
- SqlOuterApplyReducer.cs
- DynamicRendererThreadManager.cs
- WebPartVerbCollection.cs
- SoapEnumAttribute.cs
- ChildrenQuery.cs
- QueryTaskGroupState.cs
- CompoundFileIOPermission.cs
- DropShadowBitmapEffect.cs
- ButtonBase.cs
- DefaultValueConverter.cs
- ProvidersHelper.cs
- TextLineBreak.cs
- PackageFilter.cs
- OrderedDictionaryStateHelper.cs
- TempFiles.cs
- Assembly.cs
- AccessibilityHelperForXpWin2k3.cs
- ConditionCollection.cs
- BaseConfigurationRecord.cs
- WeakReadOnlyCollection.cs
- FileDocument.cs
- WindowAutomationPeer.cs
- XmlSignatureManifest.cs
- BamlCollectionHolder.cs
- DataGridColumn.cs
- HttpModulesSection.cs
- RepeatBehavior.cs
- RuntimeConfig.cs
- GeneralTransform3DTo2D.cs
- PropertyPathConverter.cs
- PackageDigitalSignatureManager.cs
- CounterSetInstance.cs
- WsdlImporter.cs
- WindowsRegion.cs
- TdsValueSetter.cs
- GacUtil.cs
- OverrideMode.cs
- OAVariantLib.cs
- ContextMenu.cs