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
- ReaderWriterLock.cs
- ProtocolState.cs
- IDQuery.cs
- HttpCacheParams.cs
- DataSourceCollectionBase.cs
- TypeProvider.cs
- EncoderFallback.cs
- SubpageParaClient.cs
- DataGridViewComboBoxCell.cs
- Span.cs
- UrlParameterReader.cs
- ConfigurationPermission.cs
- AssemblyResourceLoader.cs
- SynchronousReceiveElement.cs
- DataGridViewToolTip.cs
- MenuItem.cs
- FrameAutomationPeer.cs
- MessageFilterException.cs
- PseudoWebRequest.cs
- LoginStatusDesigner.cs
- LinkLabelLinkClickedEvent.cs
- NativeMethods.cs
- ThreadStartException.cs
- DecoderFallback.cs
- XmlSchemaSimpleType.cs
- WebControlAdapter.cs
- StretchValidation.cs
- ToolStripOverflow.cs
- TextElementEnumerator.cs
- DataTableMapping.cs
- OleDbDataReader.cs
- DrawingBrush.cs
- CatalogZone.cs
- SimpleTextLine.cs
- HttpChannelBindingToken.cs
- MetabaseSettingsIis7.cs
- NameValuePermission.cs
- GroupLabel.cs
- CompiledIdentityConstraint.cs
- DataPagerCommandEventArgs.cs
- EntityDataSourceViewSchema.cs
- SafeLocalMemHandle.cs
- SqlAliaser.cs
- HttpCachePolicyElement.cs
- DefaultValueAttribute.cs
- DiscreteKeyFrames.cs
- PointCollection.cs
- MsmqActivation.cs
- TraceContextRecord.cs
- PerspectiveCamera.cs
- AVElementHelper.cs
- XmlSerializerSection.cs
- HelpEvent.cs
- DelayedRegex.cs
- EventToken.cs
- IndexingContentUnit.cs
- RectConverter.cs
- TableRowGroup.cs
- XmlDataProvider.cs
- IISUnsafeMethods.cs
- ContainerParagraph.cs
- ControlPaint.cs
- QilTernary.cs
- HandledMouseEvent.cs
- DBSchemaRow.cs
- GraphicsState.cs
- DummyDataSource.cs
- XmlSchemaSimpleType.cs
- ParameterModifier.cs
- MissingMethodException.cs
- XmlValueConverter.cs
- TemplateComponentConnector.cs
- DictionaryItemsCollection.cs
- BackgroundWorker.cs
- XmlWhitespace.cs
- Screen.cs
- MdImport.cs
- RuleProcessor.cs
- AppDomainEvidenceFactory.cs
- ILGenerator.cs
- CurrencyManager.cs
- DataFormats.cs
- Operators.cs
- prefixendpointaddressmessagefilter.cs
- RectangleGeometry.cs
- HorizontalAlignConverter.cs
- Bind.cs
- TTSVoice.cs
- SimpleBitVector32.cs
- CommandSet.cs
- __Filters.cs
- HttpListener.cs
- ArgumentException.cs
- DiffuseMaterial.cs
- VisualStyleElement.cs
- XmlComplianceUtil.cs
- WebZoneDesigner.cs
- IndexOutOfRangeException.cs
- ReferencedCollectionType.cs
- PersianCalendar.cs