Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ConnectionStringsSection.cs
- PolyBezierSegment.cs
- BindingListCollectionView.cs
- SafeNativeMethods.cs
- HMACSHA1.cs
- ActivityDesignerResources.cs
- StreamAsIStream.cs
- OdbcConnection.cs
- SqlAliasesReferenced.cs
- PeerReferralPolicy.cs
- LogicalTreeHelper.cs
- RegionData.cs
- XmlSerializationGeneratedCode.cs
- ProcessHost.cs
- ExecutionEngineException.cs
- GlobalAclOperationRequirement.cs
- NavigationFailedEventArgs.cs
- TraceContextEventArgs.cs
- EventRouteFactory.cs
- EnumMemberAttribute.cs
- EntityDataSourceDataSelection.cs
- IERequestCache.cs
- UnionExpr.cs
- PolicyValidationException.cs
- X509Extension.cs
- ServiceAuthorizationElement.cs
- DataSourceExpression.cs
- DesignColumn.cs
- InfoCardTrace.cs
- CompiledAction.cs
- ErrorFormatterPage.cs
- LongCountAggregationOperator.cs
- BrowserInteropHelper.cs
- ModuleBuilder.cs
- KeySpline.cs
- MimeTypePropertyAttribute.cs
- ListControl.cs
- GlyphRunDrawing.cs
- HttpPostProtocolReflector.cs
- IdentityVerifier.cs
- ForwardPositionQuery.cs
- PointCollectionConverter.cs
- PersonalizationStateQuery.cs
- ReliableMessagingVersion.cs
- ProfileEventArgs.cs
- ViewPort3D.cs
- ValidationEventArgs.cs
- SiteMapDataSourceView.cs
- ClientOptions.cs
- Emitter.cs
- PrinterSettings.cs
- Renderer.cs
- CodeConstructor.cs
- RotateTransform.cs
- DataGridViewSelectedColumnCollection.cs
- LongTypeConverter.cs
- FormatterServicesNoSerializableCheck.cs
- SubpageParagraph.cs
- X509LogoTypeExtension.cs
- ValidationErrorEventArgs.cs
- DefaultValueTypeConverter.cs
- AbandonedMutexException.cs
- TextBoxLine.cs
- XamlReaderConstants.cs
- DbParameterCollectionHelper.cs
- FontInfo.cs
- DetailsViewPageEventArgs.cs
- WindowsHyperlink.cs
- AttachInfo.cs
- RequestQueue.cs
- SizeConverter.cs
- ProgressiveCrcCalculatingStream.cs
- DelegatingTypeDescriptionProvider.cs
- WebPartRestoreVerb.cs
- SHA512Managed.cs
- VoiceInfo.cs
- PropertyDescriptor.cs
- SiteMap.cs
- TextAdaptor.cs
- cookiecollection.cs
- QilExpression.cs
- TheQuery.cs
- TrustDriver.cs
- DesignerAttribute.cs
- ItemsPanelTemplate.cs
- PrimitiveSchema.cs
- DriveInfo.cs
- XmlAnyElementAttribute.cs
- ReadOnlyCollection.cs
- TabItemAutomationPeer.cs
- ZipIOExtraFieldZip64Element.cs
- HtmlFormWrapper.cs
- DataObjectSettingDataEventArgs.cs
- TemplateXamlParser.cs
- NetCodeGroup.cs
- PageContentAsyncResult.cs
- Hashtable.cs
- RightNameExpirationInfoPair.cs
- HtmlInputHidden.cs
- X509IssuerSerialKeyIdentifierClause.cs