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
- HttpModuleCollection.cs
- SafeSecurityHandles.cs
- SqlResolver.cs
- ExceptionRoutedEventArgs.cs
- ValidatingPropertiesEventArgs.cs
- StringExpressionSet.cs
- SqlTypesSchemaImporter.cs
- MemoryFailPoint.cs
- ScriptingRoleServiceSection.cs
- InputScope.cs
- EditCommandColumn.cs
- StandardOleMarshalObject.cs
- ComPlusThreadInitializer.cs
- RoutingBehavior.cs
- ClientSettingsStore.cs
- ColumnCollection.cs
- PersonalizationProviderCollection.cs
- HttpCookiesSection.cs
- UnsignedPublishLicense.cs
- PreservationFileReader.cs
- MetadataCache.cs
- MemoryFailPoint.cs
- HandlerFactoryWrapper.cs
- UniformGrid.cs
- FlowDocumentFormatter.cs
- figurelengthconverter.cs
- DescendantQuery.cs
- ListControlConvertEventArgs.cs
- RegistryHandle.cs
- XmlEventCache.cs
- TearOffProxy.cs
- BaseParaClient.cs
- WebSysDisplayNameAttribute.cs
- RelationshipConverter.cs
- BindingMemberInfo.cs
- StrongNamePublicKeyBlob.cs
- MsmqMessage.cs
- ProcessThread.cs
- FileUtil.cs
- BatchServiceHost.cs
- CngProperty.cs
- DataGridState.cs
- OleDbSchemaGuid.cs
- CustomAttribute.cs
- Regex.cs
- Command.cs
- InkCanvas.cs
- TaiwanLunisolarCalendar.cs
- PropertyPath.cs
- Viewport3DAutomationPeer.cs
- Simplifier.cs
- StringUtil.cs
- BamlCollectionHolder.cs
- QilUnary.cs
- DateTimePicker.cs
- RefreshPropertiesAttribute.cs
- DocumentViewerAutomationPeer.cs
- EntityCollection.cs
- SafeUserTokenHandle.cs
- ServicesUtilities.cs
- SystemResourceKey.cs
- WindowsStatic.cs
- VScrollBar.cs
- MeshGeometry3D.cs
- ObjectPersistData.cs
- BufferModesCollection.cs
- QueryCacheManager.cs
- XXXOnTypeBuilderInstantiation.cs
- Tuple.cs
- InitializationEventAttribute.cs
- Comparer.cs
- XmlSchemaObject.cs
- ProtocolsConfigurationEntry.cs
- TypeSystem.cs
- TripleDESCryptoServiceProvider.cs
- DESCryptoServiceProvider.cs
- smtppermission.cs
- DataViewSettingCollection.cs
- LinkUtilities.cs
- IndexOutOfRangeException.cs
- ObsoleteAttribute.cs
- BasicExpressionVisitor.cs
- TraceHandler.cs
- Point4DConverter.cs
- StatusBarPanel.cs
- WebBrowserSiteBase.cs
- ControlPropertyNameConverter.cs
- ClientBuildManagerTypeDescriptionProviderBridge.cs
- Ray3DHitTestResult.cs
- PauseStoryboard.cs
- CharEnumerator.cs
- TypeConverterHelper.cs
- VisualBrush.cs
- SqlCacheDependencyDatabaseCollection.cs
- FragmentQueryKB.cs
- ServerValidateEventArgs.cs
- x509utils.cs
- XmlComment.cs
- ActivityExecutorDelegateInfo.cs
- ChildrenQuery.cs