Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / wpf / src / 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. 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
- CompModSwitches.cs
- PageParser.cs
- RegexCaptureCollection.cs
- RemotingSurrogateSelector.cs
- ICspAsymmetricAlgorithm.cs
- HitTestParameters3D.cs
- Matrix3D.cs
- RootProfilePropertySettingsCollection.cs
- HtmlInputReset.cs
- ParseHttpDate.cs
- SqlDataAdapter.cs
- FormatException.cs
- Tracer.cs
- PointAnimationUsingKeyFrames.cs
- HttpErrorTraceRecord.cs
- AttributeSetAction.cs
- HtmlListAdapter.cs
- StubHelpers.cs
- TabPage.cs
- SiteIdentityPermission.cs
- DeflateEmulationStream.cs
- HTMLTagNameToTypeMapper.cs
- HtmlElementCollection.cs
- ListenerElementsCollection.cs
- FontConverter.cs
- PrinterUnitConvert.cs
- DetailsViewDeletedEventArgs.cs
- ColorContext.cs
- Enlistment.cs
- HttpRawResponse.cs
- TemplateBindingExtensionConverter.cs
- DashStyles.cs
- AspNetSynchronizationContext.cs
- BamlReader.cs
- SafeCoTaskMem.cs
- XmlDocumentFragment.cs
- FormViewUpdatedEventArgs.cs
- AnnotationAdorner.cs
- FilteredAttributeCollection.cs
- Image.cs
- ToolStripComboBox.cs
- CodeStatement.cs
- StringUtil.cs
- FileChangesMonitor.cs
- BitmapEffectDrawing.cs
- SystemInformation.cs
- UriTemplatePathPartiallyEquivalentSet.cs
- ImageListUtils.cs
- ActivityDesignerAccessibleObject.cs
- CodePrimitiveExpression.cs
- SqlTriggerAttribute.cs
- ObjectView.cs
- NetTcpSecurity.cs
- MemoryPressure.cs
- EntityDataReader.cs
- UniformGrid.cs
- SourceItem.cs
- LocalFileSettingsProvider.cs
- GAC.cs
- DataGridColumnHeader.cs
- ThaiBuddhistCalendar.cs
- CodeParameterDeclarationExpressionCollection.cs
- TimeSpanSecondsConverter.cs
- WindowsListViewItemStartMenu.cs
- AssemblyName.cs
- ConsoleKeyInfo.cs
- DataGridViewElement.cs
- PluggableProtocol.cs
- OwnerDrawPropertyBag.cs
- DataGridViewCellStyleEditor.cs
- PrintEvent.cs
- DataBindingHandlerAttribute.cs
- DependencyPropertyConverter.cs
- ToolboxItemWrapper.cs
- grammarelement.cs
- DbTypeMap.cs
- EntityWrapperFactory.cs
- ActivityBindForm.Designer.cs
- DataProviderNameConverter.cs
- CapiSymmetricAlgorithm.cs
- PkcsMisc.cs
- ToggleButtonAutomationPeer.cs
- PeerObject.cs
- WindowShowOrOpenTracker.cs
- HMACSHA256.cs
- BrowserTree.cs
- ISAPIApplicationHost.cs
- ResourceDescriptionAttribute.cs
- SerializerDescriptor.cs
- DataServiceKeyAttribute.cs
- HttpRequestCacheValidator.cs
- ControlCollection.cs
- ISFClipboardData.cs
- SwitchCase.cs
- SystemResourceHost.cs
- PresentationSource.cs
- Control.cs
- DataGridColumnHeadersPresenter.cs
- ExpressionConverter.cs
- XmlSchemaSimpleContentRestriction.cs