Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- TimeSpanValidatorAttribute.cs
- WinInet.cs
- PointKeyFrameCollection.cs
- SystemIPInterfaceProperties.cs
- BoundColumn.cs
- ProfileSection.cs
- _Semaphore.cs
- sitestring.cs
- FixedPosition.cs
- AssociatedControlConverter.cs
- handlecollector.cs
- ConnectionPoolManager.cs
- IndentTextWriter.cs
- SBCSCodePageEncoding.cs
- PenThreadPool.cs
- CircleEase.cs
- GroupBox.cs
- PageFunction.cs
- DataColumnMappingCollection.cs
- StringConverter.cs
- VisualBasicDesignerHelper.cs
- DBParameter.cs
- CommandID.cs
- MemberCollection.cs
- EncryptedData.cs
- DataGridViewRowPrePaintEventArgs.cs
- SystemWebSectionGroup.cs
- HttpCapabilitiesSectionHandler.cs
- Window.cs
- MatrixCamera.cs
- AnimationTimeline.cs
- XamlInt32CollectionSerializer.cs
- EmissiveMaterial.cs
- DesignerDataStoredProcedure.cs
- TextChange.cs
- TaskHelper.cs
- DataGridViewCellPaintingEventArgs.cs
- WebPartUtil.cs
- CodeCommentStatementCollection.cs
- FrameSecurityDescriptor.cs
- WebPartCollection.cs
- SingleConverter.cs
- ProcessModule.cs
- NonSerializedAttribute.cs
- WorkflowRuntime.cs
- FieldMetadata.cs
- SettingsPropertyIsReadOnlyException.cs
- ComponentDesigner.cs
- UnionCqlBlock.cs
- DiscriminatorMap.cs
- FunctionMappingTranslator.cs
- TypeConverters.cs
- _Win32.cs
- EventSinkHelperWriter.cs
- ToolStripCustomTypeDescriptor.cs
- TextBoxAutomationPeer.cs
- TextMarkerSource.cs
- TCPListener.cs
- AuthStoreRoleProvider.cs
- WorkflowOwnerAsyncResult.cs
- ReadWriteObjectLock.cs
- QilParameter.cs
- PipeConnection.cs
- DefinitionUpdate.cs
- BindingBase.cs
- TextBox.cs
- ToolStripLocationCancelEventArgs.cs
- ChangeBlockUndoRecord.cs
- HttpListenerRequestTraceRecord.cs
- DataGridViewRowEventArgs.cs
- DuplicateWaitObjectException.cs
- DataGridViewDataErrorEventArgs.cs
- DataGridViewTopRowAccessibleObject.cs
- Table.cs
- DefinitionUpdate.cs
- VoiceInfo.cs
- HttpHandlerActionCollection.cs
- DispatcherHooks.cs
- ConsumerConnectionPointCollection.cs
- PageAdapter.cs
- Debug.cs
- DefaultConfirmation.cs
- JavaScriptSerializer.cs
- BaseDataBoundControl.cs
- DataSetUtil.cs
- UTF32Encoding.cs
- CapabilitiesAssignment.cs
- TextParaLineResult.cs
- GifBitmapEncoder.cs
- EntityProviderServices.cs
- HierarchicalDataBoundControlAdapter.cs
- CellLabel.cs
- Globals.cs
- RootAction.cs
- TypeInformation.cs
- SystemWebCachingSectionGroup.cs
- AssemblyNameProxy.cs
- MsmqQueue.cs
- util.cs
- LinkUtilities.cs