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
- PolicyValidationException.cs
- KeyValueInternalCollection.cs
- CompilerHelpers.cs
- GenericTransactionFlowAttribute.cs
- MsmqInputSessionChannelListener.cs
- DefaultValueConverter.cs
- XmlNavigatorFilter.cs
- WebException.cs
- ISAPIRuntime.cs
- ObjectDataSourceStatusEventArgs.cs
- NamespaceInfo.cs
- ExternalException.cs
- OleDbConnectionInternal.cs
- WebZoneDesigner.cs
- UIPropertyMetadata.cs
- ObjectStateEntryOriginalDbUpdatableDataRecord.cs
- XPathNavigatorReader.cs
- TypeDependencyAttribute.cs
- HtmlAnchor.cs
- WindowsListView.cs
- UserControlParser.cs
- DocumentOrderQuery.cs
- FullTrustAssembly.cs
- HtmlTextArea.cs
- StateMachineDesignerPaint.cs
- SqlProvider.cs
- IxmlLineInfo.cs
- HttpProfileBase.cs
- IdentityManager.cs
- ReadWriteSpinLock.cs
- SqlCacheDependency.cs
- Fault.cs
- PictureBox.cs
- SqlErrorCollection.cs
- WebPartVerbsEventArgs.cs
- MsmqTransportBindingElement.cs
- GridItemProviderWrapper.cs
- ProcessInputEventArgs.cs
- DbConnectionHelper.cs
- Pair.cs
- SweepDirectionValidation.cs
- ConstraintConverter.cs
- SafeTimerHandle.cs
- PersianCalendar.cs
- WindowsSecurityToken.cs
- RadioButtonPopupAdapter.cs
- ErrorHandlerModule.cs
- MetricEntry.cs
- Ray3DHitTestResult.cs
- AttachedAnnotation.cs
- ConnectionManagementElementCollection.cs
- Schema.cs
- HttpResponseInternalWrapper.cs
- WindowsFormsDesignerOptionService.cs
- SafeNativeMethods.cs
- RequestNavigateEventArgs.cs
- UiaCoreTypesApi.cs
- Keywords.cs
- HttpHandlerActionCollection.cs
- ToolStripLabel.cs
- InputScopeConverter.cs
- RoutedCommand.cs
- DataSourceHelper.cs
- ExternalException.cs
- SettingsAttributes.cs
- DiscoveryClient.cs
- WebPartUtil.cs
- SpellerHighlightLayer.cs
- AuthenticationManager.cs
- mongolianshape.cs
- HitTestWithGeometryDrawingContextWalker.cs
- DomNameTable.cs
- FormsAuthenticationModule.cs
- designeractionbehavior.cs
- SizeAnimationClockResource.cs
- DeflateStream.cs
- BypassElement.cs
- util.cs
- WebConfigurationHost.cs
- errorpatternmatcher.cs
- Viewport3DVisual.cs
- TextDecorationCollectionConverter.cs
- DataGridDefaultColumnWidthTypeConverter.cs
- SecurityDescriptor.cs
- ValidationRuleCollection.cs
- Pointer.cs
- StreamGeometry.cs
- DeploymentSectionCache.cs
- DecoderFallback.cs
- PromptBuilder.cs
- ColumnTypeConverter.cs
- FlowDocumentPaginator.cs
- DocumentPageTextView.cs
- TextDecorationUnitValidation.cs
- BinaryFormatterWriter.cs
- RtType.cs
- DbMetaDataCollectionNames.cs
- TailPinnedEventArgs.cs
- XmlResolver.cs
- WebRequestModulesSection.cs